| 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–2020 Eclipse Foundation. All rights reserved.