| Interface | Description |
|---|---|
| Message |
This represents internal message interface which is sent and received on the top of Shoal management module
Currently, six message types exist.
|
| MessageListener |
Message listener interface
For receiving and processing inbound messages, this listener should be registered on
NetworkManager
with corresponding to the appropriate message type
i.g. |
| MessageSender |
This interface is for sending a
Message to the specific destination
This interface can be implemented for only TCP or only UDP or both TCP and UDP transport layer |
| MulticastMessageSender |
This interface is for broadcasting or multicasting a
Message to all members |
| NetworkManager |
This interface has common APIs for network managements
According to a kind of transport layers, this interface will be implemented adequately.
|
| ShoalMessageSender |
This is the top interface of the message sender
Currently, TCP and UDP(includes Multicast) transport layers are supported.
|
| Class | Description |
|---|---|
| AbstractMessageSender |
This class implements a common
MessageSender logic simply in order to help the specific transport layer to be implemented easily
Mainly, this stores both source's PeerID and target's PeerID before sending the message to the peer |
| AbstractMulticastMessageSender |
This class implements a common
MulticastMessageSender logic simply in order to help the specific transport layer to be implemented easily
Mainly, this stores both source's PeerID and target's PeerID before broadcasting the message to all members |
| AbstractMultiMessageSender |
This class implements both a common
MulticastMessageSender and MessageSender logic simply
in order to help the specific transport layer to be implemented easily
Mainly, this stores both source's PeerID and target's PeerID
before sending the message to the peer or broadcasting the message to all members |
| AbstractNetworkManager |
This class implements a common
NetworkManager logic simply in order to help the specific transport layer to be implemented easily
Mainly, this manages MessageListener and dispatches an inbound Message into the appropriate listener |
| ArrayUtils |
Set of utility methods to work with Arrays.
|
| BlockingIOMulticastSender |
This class is a default
MulticastMessageSender's implementation and extends AbstractMulticastMessageSender
This uses MulticastSocket which is based on Blocking I/O |
| MessageEvent |
This class represents a received message event
Management modules will use this message event in order to process a received network packet internally
|
| MessageImpl |
This is a default
Message's implementation
The byte array or ByteBuffer which represent this message's low level data will be cached if this message is not modified
Here are this message's structure
----
[packet]
magic(4) + version(4) + type(4) + messages_length(4) + messages(message_length)
[messages]
message_count(4) + message_key1 + message_value1 + message_key2 + message_value2 + ...(message_count)
---- |
| NetworkUtility |
Utility class that can be used by any calling code to do common routines about Network I/O
|
| VirtualMulticastSender |
This class extends
BlockingIOMulticastSender
for supporting the circumstance that cluster members are located beyond one subnet
or multicast traffic is disabled
virtualPeerIdList should contain PeerIDs of cluster members which are located beyond one subnet. |
| Exception | Description |
|---|---|
| MessageIOException |
IOException which related to parsing
Message |
Copyright © 2017–2019 Eclipse Foundation. All rights reserved.