IGNITE-15174 Fix javadocs in Network module (#270)

diff --git a/check-rules/checkstyle-disabled-modules.xml b/check-rules/checkstyle-disabled-modules.xml
index 4effe67..6c62f17 100644
--- a/check-rules/checkstyle-disabled-modules.xml
+++ b/check-rules/checkstyle-disabled-modules.xml
@@ -26,8 +26,6 @@
     <suppress files="[/\\]examples[/\\]" checks=".*" />
     <suppress files="[/\\]modules/cli[/\\]" checks=".*" />
     <suppress files="[/\\]modules/raft-client[/\\]" checks=".*" />
-    <suppress files="[/\\]modules/network[/\\]" checks=".*" />
-    <suppress files="[/\\]modules/network-api[/\\]" checks=".*" />
     <suppress files="[/\\]modules/rest[/\\]" checks=".*" />
     <suppress files="[/\\]modules/runner[/\\]" checks=".*" />
 </suppressions>
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/AbstractMessagingService.java b/modules/network-api/src/main/java/org/apache/ignite/network/AbstractMessagingService.java
index f65762f..1d01146 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/AbstractMessagingService.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/AbstractMessagingService.java
@@ -31,13 +31,18 @@
      * Class holding a pair of a message group class and corresponding handlers.
      */
     private static class Handler {
-        /** */
+        /** Message group.  */
         final Class<?> messageGroup;
 
-        /** */
+        /** Handlers, registered for the corresponding message group. */
         final List<NetworkMessageHandler> handlers;
 
-        /** */
+        /**
+         * Constructor.
+         *
+         * @param messageGroup Message group.
+         * @param handlers Message handlers.
+         */
         Handler(Class<?> messageGroup, List<NetworkMessageHandler> handlers) {
             this.messageGroup = messageGroup;
             this.handlers = handlers;
@@ -72,6 +77,9 @@
 
     /**
      * Extracts the message group ID from a class annotated with {@link MessageGroup}.
+     *
+     * @param messageGroup Message group.
+     * @return Message group ID.
      */
     private static short getMessageGroupType(Class<?> messageGroup) {
         MessageGroup annotation = messageGroup.getAnnotation(MessageGroup.class);
@@ -86,7 +94,10 @@
     }
 
     /**
-     * @return registered message handlers.
+     * Returns registered handlers for the given group ID.
+     *
+     * @param groupType Message group ID.
+     * @return Registered message handlers.
      */
     protected final Collection<NetworkMessageHandler> getMessageHandlers(short groupType) {
         assert groupType >= 0 : "Group type must not be negative";
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/AbstractTopologyService.java b/modules/network-api/src/main/java/org/apache/ignite/network/AbstractTopologyService.java
index 4ffd5a9..35ab12a 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/AbstractTopologyService.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/AbstractTopologyService.java
@@ -25,7 +25,7 @@
  * Base class for {@link TopologyService} implementations.
  */
 public abstract class AbstractTopologyService implements TopologyService {
-    /** */
+    /** Registered event handlers. */
     private final Collection<TopologyEventHandler> eventHandlers = new CopyOnWriteArrayList<>();
 
     /** {@inheritDoc} */
@@ -34,9 +34,11 @@
     }
 
     /**
-     * @return registered event handlers.
+     * Returns the registered topology event handlers.
+     *
+     * @return Registered event handlers.
      */
-    public Collection<TopologyEventHandler> getEventHandlers() {
+    protected Collection<TopologyEventHandler> getEventHandlers() {
         return Collections.unmodifiableCollection(eventHandlers);
     }
 }
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterLocalConfiguration.java b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterLocalConfiguration.java
index 6d107b1..b3f5544 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterLocalConfiguration.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterLocalConfiguration.java
@@ -39,6 +39,8 @@
     private final MessageSerializationRegistry serializationRegistry;
 
     /**
+     * Constructor.
+     *
      * @param name Local name.
      * @param port Local port.
      * @param nodeFinder Node finder for discovering the initial cluster members.
@@ -54,6 +56,8 @@
     }
 
     /**
+     * Returns the network alias of the node.
+     *
      * @return Network alias of a node.
      */
     public String getName() {
@@ -61,6 +65,8 @@
     }
 
     /**
+     * Returns the local network port of the node.
+     *
      * @return Port.
      */
     public int getPort() {
@@ -68,13 +74,17 @@
     }
 
     /**
-     * @return Node finder for discovering the initial cluster members.
+     * Returns the Node Finder for discovering the initial cluster members.
+     *
+     * @return Node Finder.
      */
     public NodeFinder getNodeFinder() {
         return nodeFinder;
     }
 
     /**
+     * Returns the message serialization registry.
+     *
      * @return Message serialization registry.
      */
     public MessageSerializationRegistry getSerializationRegistry() {
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
index b10b14a..738a6b9 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
@@ -34,6 +34,8 @@
     private final NetworkAddress address;
 
     /**
+     * Constructor.
+     *
      * @param id Local id that changes between restarts.
      * @param name Unique name of a member in a cluster.
      * @param address Node address.
@@ -45,6 +47,8 @@
     }
 
     /**
+     * Returns this node's local ID.
+     *
      * @return Node's local id.
      */
     public String id() {
@@ -52,13 +56,17 @@
     }
 
     /**
-     * @return Unique name of member in cluster. Doesn't change between restarts.
+     * Returns the unique name of this node in a cluster. Doesn't change between restarts.
+     *
+     * @return Unique name of the member in a cluster.
      */
     public String name() {
         return name;
     }
 
     /**
+     * Returns the network address of this node.
+     *
      * @return Network address of this node.
      */
     public NetworkAddress address() {
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterService.java b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterService.java
index a03d031..44dd474 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterService.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterService.java
@@ -20,22 +20,28 @@
 import org.apache.ignite.internal.manager.IgniteComponent;
 
 /**
- * Class that represents the network-related resources of a node and provides entry points for working with the
+ * Class, that represents the network-related resources of a node and provides entry points for working with the
  * network members of a cluster.
  */
 public interface ClusterService extends IgniteComponent {
     /**
-     * @return {@link TopologyService} for working with the cluster topology.
+     * Returns the {@link TopologyService} for working with the cluster topology.
+     *
+     * @return Topology Service.
      */
     TopologyService topologyService();
 
     /**
-     * @return {@link TopologyService} for sending messages to the cluster members.
+     * Returns the {@link MessagingService} for sending messages to the cluster members.
+     *
+     * @return Messaging Service.
      */
     MessagingService messagingService();
 
     /**
-     * @return Context associated with the current node.
+     * Returns the local configuration of this node.
+     *
+     * @return Configuration of the current node.
      */
     ClusterLocalConfiguration localConfiguration();
 
@@ -45,7 +51,7 @@
     }
 
     /**
-     * Checks whether cluster service was stopped.
+     * Checks whether cluster service has been stopped.
      *
      * @return {@code true} if cluster service is stopped, {@code false} otherwise.
      */
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkAddress.java b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkAddress.java
index 5094196..7e8df78 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkAddress.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkAddress.java
@@ -37,6 +37,8 @@
     private final int port;
 
     /**
+     * Constructor.
+     *
      * @param host Host.
      * @param port Port.
      */
@@ -77,12 +79,15 @@
      * Creates a {@code NetworkAddress} from a {@link InetSocketAddress}.
      *
      * @param addr Address.
+     * @return Created network address.
      */
     public static NetworkAddress from(InetSocketAddress addr) {
         return new NetworkAddress(addr.getHostName(), addr.getPort());
     }
 
     /**
+     * Returns the host name.
+     *
      * @return Host name.
      */
     public String host() {
@@ -90,6 +95,8 @@
     }
 
     /**
+     * Returns the network port.
+     *
      * @return Port.
      */
     public int port() {
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkConfigurationException.java b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkConfigurationException.java
index f29e9fb..08c5274 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkConfigurationException.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkConfigurationException.java
@@ -23,6 +23,7 @@
 public class NetworkConfigurationException extends RuntimeException {
     /**
      * Constructor.
+     *
      * @param message Exception message.
      */
     public NetworkConfigurationException(String message) {
@@ -31,6 +32,7 @@
 
     /**
      * Constructor.
+     *
      * @param message Exception message.
      * @param cause Cause of the exception.
      */
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkMessageHandler.java b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkMessageHandler.java
index 5172705..99d762c 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/NetworkMessageHandler.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/NetworkMessageHandler.java
@@ -21,10 +21,12 @@
  */
 public interface NetworkMessageHandler {
     /**
-     * @param message Message which was received from the cluster.
-     * @param senderAddr Sender address. Use
-     * {@link TopologyService#getByAddress} to resolve the corresponding {@link ClusterNode}.
-     * @param correlationId Correlation id.
+     * Method that gets invoked when a network message is received.
+     *
+     * @param message Message, which was received from the cluster.
+     * @param senderAddr Sender address. Use {@link TopologyService#getByAddress} to resolve
+     *                   the corresponding {@link ClusterNode}.
+     * @param correlationId Correlation id. Used to track correspondence between requests and responses.
      */
     void onReceived(NetworkMessage message, NetworkAddress senderAddr, String correlationId);
 }
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/TopologyService.java b/modules/network-api/src/main/java/org/apache/ignite/network/TopologyService.java
index 22eb214..be2a882 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/TopologyService.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/TopologyService.java
@@ -26,13 +26,16 @@
  */
 public interface TopologyService {
     /**
+     * Returns information of the current node.
+     *
      * @return Information about the local network member.
      */
     ClusterNode localMember();
 
     /**
-     * @return Information about all members which have discovered by the local member (including the local member
-     * itself).
+     * Returns a list of all discovered cluster members, including the local member itself.
+     *
+     * @return List of all discovered cluster members.
      */
     Collection<ClusterNode> allMembers();
 
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/annotations/Transferable.java b/modules/network-api/src/main/java/org/apache/ignite/network/annotations/Transferable.java
index ac0e95e..de93130 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/annotations/Transferable.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/annotations/Transferable.java
@@ -84,7 +84,9 @@
 // TODO: Update this annotation according to https://issues.apache.org/jira/browse/IGNITE-14817
 public @interface Transferable {
     /**
-     * @return this message's type as described in {@link NetworkMessage#messageType}
+     * Returns this message's type as described in {@link NetworkMessage#messageType}.
+     *
+     * @return Message type.
      */
     short value();
 
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/annotations/package-info.java b/modules/network-api/src/main/java/org/apache/ignite/network/annotations/package-info.java
new file mode 100644
index 0000000..8a11897
--- /dev/null
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/annotations/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Package with various annotations for the Network module.
+ */
+package org.apache.ignite.network.annotations;
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/package-info.java b/modules/network-api/src/main/java/org/apache/ignite/network/package-info.java
new file mode 100644
index 0000000..563646f
--- /dev/null
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Base package for the Network module.
+ */
+package org.apache.ignite.network;
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageDeserializer.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageDeserializer.java
index 5d5eda6..6b9779a 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageDeserializer.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageDeserializer.java
@@ -21,18 +21,30 @@
 
 /**
  * Message deserializer.
+ *
  * @param <M> Message type.
  */
 public interface MessageDeserializer<M extends NetworkMessage> {
     /**
      * Read a message from the reader.
+     *
      * @param reader Message reader.
      * @return {@code true } if the message has been read completely.
      * @throws MessageMappingException If failed.
      */
     boolean readMessage(MessageReader reader) throws MessageMappingException;
 
+    /**
+     * Message type, that this deserializer creates.
+     *
+     * @return Message type.
+     */
     Class<M> klass();
 
+    /**
+     * Returns the message, deserialized by the {@link #readMessage} method.
+     *
+     * @return Deserialized message.
+     */
     M getMessage();
 }
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageMappingException.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageMappingException.java
index afeda9a..116ba54 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageMappingException.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageMappingException.java
@@ -23,6 +23,7 @@
 public class MessageMappingException extends RuntimeException {
     /**
      * Constructor.
+     *
      * @param message Message mapping error message.
      */
     public MessageMappingException(String message) {
@@ -31,6 +32,7 @@
 
     /**
      * Constructor.
+     *
      * @param message Message mapping error message.
      * @param cause Cause of message mapping error.
      */
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializationFactory.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializationFactory.java
index 0e49047..972738b 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializationFactory.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializationFactory.java
@@ -28,12 +28,14 @@
 public interface MessageSerializationFactory<M extends NetworkMessage> {
     /**
      * Creates a deserializer.
+     *
      * @return Message deserializer.
      */
     MessageDeserializer<M> createDeserializer();
 
     /**
      * Creates a serializer.
+     *
      * @return Message serializer.
      */
     MessageSerializer<M> createSerializer();
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializer.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializer.java
index c061b1a..647ae09 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializer.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageSerializer.java
@@ -21,11 +21,13 @@
 
 /**
  * Message serializer.
+ *
  * @param <M> Message type.
  */
 public interface MessageSerializer<M extends NetworkMessage> {
     /**
      * Writes a message to the writer.
+     *
      * @param message Message.
      * @param writer Message writer.
      * @return {@code true } if the message was completely written.
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageWriter.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageWriter.java
index 3a9ebb3..9d40fe9 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageWriter.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/MessageWriter.java
@@ -301,7 +301,9 @@
         MessageCollectionItemType valType);
 
     /**
-     * @return Whether the header of the current message is already written.
+     * Returns {@code true} if the header of the current message has been written, {@code false} otherwise.
+     *
+     * @return Whether the message header has already been written.
      */
     public boolean isHeaderWritten();
 
diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/serialization/package-info.java b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/package-info.java
new file mode 100644
index 0000000..31f491d
--- /dev/null
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/serialization/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Package, that contains serialization-related classes.
+ */
+package org.apache.ignite.network.serialization;
diff --git a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITNodeRestartsTest.java b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITNodeRestartsTest.java
index 63f2592..b78cd06 100644
--- a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITNodeRestartsTest.java
+++ b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITNodeRestartsTest.java
@@ -37,26 +37,28 @@
  * Tests if a topology size is correct after some nodes are restarted in quick succession.
  */
 class ITNodeRestartsTest {
-    /** */
+    /** Logger. */
     private static final IgniteLogger LOG = IgniteLogger.forClass(ITNodeRestartsTest.class);
 
-    /** */
+    /** Serialization registry. */
     private final MessageSerializationRegistry serializationRegistry = new TestMessageSerializationRegistryImpl();
 
-    /** */
+    /** Network factory. */
     private final ClusterServiceFactory networkFactory = new TestScaleCubeClusterServiceFactory();
 
-    /** */
+    /** Created {@link ClusterService}s. Needed for resource management. */
     private List<ClusterService> services;
 
-    /** */
+    /** Tear down method. */
     @AfterEach
-    void after() {
+    void tearDown() {
         for (ClusterService service : services)
             service.stop();
     }
 
-    /** */
+    /**
+     * Tests that restarting nodes get discovered in an established topology.
+     */
     @Test
     public void testRestarts() {
         final int initPort = 3344;
@@ -99,7 +101,13 @@
         LOG.info("Reached stable state");
     }
 
-    /** */
+    /**
+     * Creates a {@link ClusterService} using the given local address and the node finder.
+     *
+     * @param addr Node address.
+     * @param nodeFinder Node finder.
+     * @return Created Cluster Service.
+     */
     private ClusterService startNetwork(NetworkAddress addr, NodeFinder nodeFinder) {
         var context = new ClusterLocalConfiguration(addr.toString(), addr.port(), nodeFinder, serializationRegistry);
 
@@ -111,6 +119,8 @@
     }
 
     /**
+     * Blocks until the given topology reaches {@code expected} amount of members.
+     *
      * @param service  The service.
      * @param expected Expected count.
      * @param timeout  The timeout.
diff --git a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITScaleCubeNetworkMessagingTest.java b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITScaleCubeNetworkMessagingTest.java
index 1ed62c3..b2037ec 100644
--- a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITScaleCubeNetworkMessagingTest.java
+++ b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/ITScaleCubeNetworkMessagingTest.java
@@ -57,7 +57,9 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-/** */
+/**
+ * Integration tests for messaging based on ScaleCube.
+ */
 class ITScaleCubeNetworkMessagingTest {
     /**
      * Test cluster.
@@ -69,14 +71,16 @@
     /** Message factory. */
     private final TestMessagesFactory messageFactory = new TestMessagesFactory();
 
-    /** */
+    /** Tear down method. */
     @AfterEach
-    public void afterEach() {
+    public void tearDown() {
         testCluster.shutdown();
     }
 
     /**
      * Tests sending and receiving messages.
+     *
+     * @throws Exception in case of errors.
      */
     @Test
     public void messageWasSentToAllMembersSuccessfully() throws Exception {
@@ -115,7 +119,7 @@
     }
 
     /**
-     * Tests graceful shutdown.
+     * Tests a graceful shutdown.
      *
      * @throws Exception If failed.
      */
@@ -125,7 +129,8 @@
     }
 
     /**
-     * Tests forceful shutdown.
+     * Tests a forceful shutdown.
+     *
      * @throws Exception If failed.
      */
     @Test
@@ -135,6 +140,8 @@
 
     /**
      * Sends a message from a node to itself and verifies that it gets delivered successfully.
+     *
+     * @throws Exception in case of errors.
      */
     @Test
     public void testSendMessageToSelf() throws Exception {
@@ -181,6 +188,8 @@
 
     /**
      * Sends a messages from a node to itself and awaits the response.
+     *
+     * @throws Exception in case of errors.
      */
     @Test
     public void testInvokeMessageToSelf() throws Exception {
@@ -232,6 +241,8 @@
 
     /**
      * Tests that messages from different message groups can be delivered to different sets of handlers.
+     *
+     * @throws Exception in case of errors.
      */
     @Test
     public void testMessageGroupsHandlers() throws Exception {
@@ -349,19 +360,23 @@
      * Wrapper for a cluster.
      */
     private static final class Cluster {
-        /** */
+        /** Network factory. */
         private final ClusterServiceFactory networkFactory = new TestScaleCubeClusterServiceFactory();
 
-        /** */
+        /** Serialization registry. */
         private final MessageSerializationRegistry serializationRegistry = new TestMessageSerializationRegistryImpl();
 
-        /** */
+        /** Members of the cluster. */
         final List<ClusterService> members;
 
-        /** */
+        /** Latch that is locked until all members are visible in the topology. */
         private final CountDownLatch startupLatch;
 
-        /** Constructor. */
+        /**
+         * Creates a test cluster with the given amount of members.
+         *
+         * @param numOfNodes Amount of cluster members.
+         */
         Cluster(int numOfNodes) {
             startupLatch = new CountDownLatch(numOfNodes - 1);
 
@@ -385,7 +400,8 @@
          * @return Started cluster node.
          */
         private ClusterService startNode(NetworkAddress addr, NodeFinder nodeFinder, boolean initial) {
-            var context = new ClusterLocalConfiguration(addr.toString(), addr.port(), nodeFinder, serializationRegistry);
+            var context =
+                new ClusterLocalConfiguration(addr.toString(), addr.port(), nodeFinder, serializationRegistry);
 
             ClusterService clusterService = networkFactory.createClusterService(context);
 
@@ -405,9 +421,10 @@
         }
 
         /**
-         * Start and wait for cluster to come up.
+         * Starts and waits for the cluster to come up.
          *
          * @throws InterruptedException If failed.
+         * @throws AssertionError If the cluster was unable to start in 3 seconds.
          */
         void startAwait() throws InterruptedException {
             members.forEach(ClusterService::start);
@@ -417,7 +434,7 @@
         }
 
         /**
-         * Shutdown cluster.
+         * Stops the cluster.
          */
         void shutdown() {
             members.forEach(ClusterService::stop);
diff --git a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
index 9fa7333..599ac98 100644
--- a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
+++ b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
@@ -23,18 +23,13 @@
  */
 public class TestScaleCubeClusterServiceFactory extends ScaleCubeClusterServiceFactory {
     /** {@inheritDoc} */
-    @Override protected ClusterConfig defaultConfig() {
-        ClusterConfig cfg = ClusterConfig.defaultLocalConfig();
-
-        // Theoretical suspicious timeout for 5 node cluster: 500 * 1 * log(5) = 349ms
-        // Short sync interval is required for faster convergence on node restarts.
-        cfg = cfg.membership(opts -> opts.syncInterval(1000).suspicionMult(1));
-
-        // Theoretical upper bound for detection of faulty node by some other node: 500 * (e / (e - 1)) = 790ms
-        cfg = cfg.failureDetector(opts -> opts.pingInterval(500).pingReqMembers(1));
-
-        cfg = cfg.gossip(opts -> opts.gossipInterval(10));
-
-        return cfg;
+    @Override protected ClusterConfig clusterConfig() {
+        return ClusterConfig.defaultLocalConfig()
+            // Theoretical suspicious timeout for 5 node cluster: 500 * 1 * log(5) = 349ms
+            // Short sync interval is required for faster convergence on node restarts.
+            .membership(opts -> opts.syncInterval(1000).suspicionMult(1))
+            // Theoretical upper bound for detection of faulty node by some other node: 500 * (e / (e - 1)) = 790ms
+            .failureDetector(opts -> opts.pingInterval(500).pingReqMembers(1))
+            .gossip(opts -> opts.gossipInterval(10));
     }
 }
diff --git a/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/package-info.java b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/package-info.java
new file mode 100644
index 0000000..4f0b903
--- /dev/null
+++ b/modules/network/src/integrationTest/java/org/apache/ignite/network/scalecube/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Integration tests for ScaleCube-related classes.
+ */
+package org.apache.ignite.network.scalecube;
diff --git a/modules/network/src/main/java/org/apache/ignite/network/MessageSerializationRegistryImpl.java b/modules/network/src/main/java/org/apache/ignite/network/MessageSerializationRegistryImpl.java
index f7f2002..21fc6e1 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/MessageSerializationRegistryImpl.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/MessageSerializationRegistryImpl.java
@@ -27,7 +27,7 @@
  * Default implementation of a {@link MessageSerializationRegistry}.
  */
 public class MessageSerializationRegistryImpl implements MessageSerializationRegistry {
-    /** group type -> message type -> MessageSerializerProvider instance */
+    /** group type → message type → MessageSerializerProvider instance. */
     private final MessageSerializationFactory<?>[][] factories =
         new MessageSerializationFactory<?>[Short.MAX_VALUE + 1][];
 
@@ -71,6 +71,8 @@
      * @param groupType Group type of a message.
      * @param messageType Message type.
      * @return Message's serialization factory.
+     * @throws NetworkConfigurationException if no serializers have been registered for the given group type
+     * and message type.
      */
     private <T extends NetworkMessage> MessageSerializationFactory<T> getFactory(short groupType, short messageType) {
         assert groupType >= 0 : "group type must not be negative";
diff --git a/modules/network/src/main/java/org/apache/ignite/network/StaticNodeFinder.java b/modules/network/src/main/java/org/apache/ignite/network/StaticNodeFinder.java
index 8bb891a..42cc856 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/StaticNodeFinder.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/StaticNodeFinder.java
@@ -28,10 +28,12 @@
  * {@code NodeFinder} implementation that encapsulates a predefined list of network addresses.
  */
 public class StaticNodeFinder implements NodeFinder {
-    /** */
+    /** List of seed cluster members. */
     private final List<NetworkAddress> addresses;
 
     /**
+     * Constructor.
+     *
      * @param addresses Addresses of initial cluster members.
      */
     public StaticNodeFinder(List<NetworkAddress> addresses) {
@@ -42,6 +44,7 @@
      * Creates a node finder extracting the initial cluster member addresses from the given configuration.
      *
      * @param networkConfiguration Network configuration.
+     * @return Node Finder that returns addresses from the given configuration.
      */
     public static StaticNodeFinder fromConfiguration(NetworkView networkConfiguration) {
         return Arrays.stream(networkConfiguration.netClusterNodes())
diff --git a/modules/network/src/main/java/org/apache/ignite/network/package-info.java b/modules/network/src/main/java/org/apache/ignite/network/package-info.java
new file mode 100644
index 0000000..a30b385
--- /dev/null
+++ b/modules/network/src/main/java/org/apache/ignite/network/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Package containing implementation classes of the Network module.
+ */
+package org.apache.ignite.network;
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/DelegatingTransportFactory.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/DelegatingTransportFactory.java
index 3d04557..8252b94 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/DelegatingTransportFactory.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/DelegatingTransportFactory.java
@@ -32,13 +32,15 @@
  * cases it should behave as the default ScaleCube transport factory.
  */
 class DelegatingTransportFactory implements TransportFactory {
-    /** */
+    /** Messaging service. */
     private final ScaleCubeMessagingService messagingService;
 
     /** Delegate transport factory. */
     private final TransportFactory factory;
 
     /**
+     * Constructor.
+     *
      * @param messagingService Messaging service.
      * @param factory Delegate transport factory.
      */
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeClusterServiceFactory.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeClusterServiceFactory.java
index b0b9627..f6d3def 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeClusterServiceFactory.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeClusterServiceFactory.java
@@ -72,7 +72,7 @@
 
         var transport = new ScaleCubeDirectMarshallerTransport(connectionManager, topologyService, messageFactory);
 
-        var cluster = new ClusterImpl(defaultConfig())
+        var cluster = new ClusterImpl(clusterConfig())
             .handler(cl -> new ClusterMessageHandler() {
                 /** {@inheritDoc} */
                 @Override public void onMessage(Message message) {
@@ -144,9 +144,12 @@
     }
 
     /**
-     * @return The default configuration.
+     * Returns ScaleCube's cluster configuration. Can be overridden in subclasses for finer control of the created
+     * {@link ClusterService} instances.
+     *
+     * @return Cluster configuration.
      */
-    protected ClusterConfig defaultConfig() {
+    protected ClusterConfig clusterConfig() {
         return ClusterConfig.defaultConfig();
     }
 
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeDirectMarshallerTransport.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeDirectMarshallerTransport.java
index 706a1c8..1257f8b 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeDirectMarshallerTransport.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeDirectMarshallerTransport.java
@@ -60,7 +60,7 @@
     /** Message sink. */
     private final FluxSink<Message> sink = subject.sink();
 
-    /** Close handler */
+    /** Close handler. */
     private final MonoProcessor<Void> stop = MonoProcessor.create();
 
     /** On stop. */
@@ -72,13 +72,15 @@
     /** Message factory. */
     private final NetworkMessagesFactory messageFactory;
 
-    /** */
+    /** Topology service. */
     private final ScaleCubeTopologyService topologyService;
 
     /** Node address. */
     private Address address;
 
     /**
+     * Constructor.
+     *
      * @param connectionManager connection manager
      * @param topologyService topology service
      * @param messageFactory message factory
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeMessagingService.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeMessagingService.java
index 0974fdf..1ee6be2 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeMessagingService.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeMessagingService.java
@@ -151,6 +151,9 @@
 
     /**
      * Converts a {@link NetworkAddress} into ScaleCube's {@link Address}.
+     *
+     * @param address Network address.
+     * @return ScaleCube's network address.
      */
     private static Address fromNetworkAddress(NetworkAddress address) {
         return Address.create(address.host(), address.port());
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
index 0b1924c..6809707 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
@@ -126,6 +126,9 @@
 
     /**
      * Converts the given {@link Member} to a {@link ClusterNode}.
+     *
+     * @param member ScaleCube's cluster member.
+     * @return Cluster node.
      */
     private static ClusterNode fromMember(Member member) {
         var addr = new NetworkAddress(member.address().host(), member.address().port());
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/package-info.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/package-info.java
new file mode 100644
index 0000000..32f7bde
--- /dev/null
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Package containing implementation of the Network module interfaces, based on ScaleCube.
+ */
+package org.apache.ignite.network.scalecube;