public abstract class AbstractNetworkManager extends Object implements NetworkManager
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| Modifier and Type | Field and Description |
|---|---|
protected PeerID |
localPeerID
Represents local
PeerID. |
TCP_TRANSPORT, UDP_TRANSPORT| Constructor and Description |
|---|
AbstractNetworkManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
addMessageListener(MessageListener messageListener)
Adds the
MessageListener |
protected abstract void |
afterDispatchingMessage(MessageEvent messageEvent,
Map piggyback)
After executing
MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called |
protected abstract void |
beforeDispatchingMessage(MessageEvent messageEvent,
Map piggyback)
Before executing
MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called |
static NetworkManager |
getInstance(String transport) |
PeerID |
getLocalPeerID()
Returns local
PeerID |
static Logger |
getLogger() |
void |
initialize(String groupName,
String instanceName,
Map properties)
Initializes this network manager with given params and properties
|
void |
receiveMessage(Message message,
Map piggyback)
Processes a received
Message
In this process, inbound Message will be wrapped into MessageEvent and be delivered to registered
MessageListener with corresponding to the message type |
void |
removeMessageListener(MessageListener messageListener)
Removes the
MessageListener |
void |
start()
Starts this network manager
This method will be called after
NetworkManager.initialize(String, String, java.util.Map) internally |
void |
stop()
Stops this network manager
For cleaning up remaining values and finishing I/O operation, this method could be used
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddRemotePeer, getMessageSender, getMulticastMessageSender, getPeerID, isConnected, removePeerIDbroadcastsendprotected PeerID localPeerID
PeerID. This value should be assigned in real NetworkManager's implementation
correspoinding to the specific transport layerpublic void start()
throws IOException
NetworkManager.initialize(String, String, java.util.Map) internallystart in interface NetworkManagerstart in interface ShoalMessageSenderIOException - if an I/O error occurspublic void stop()
throws IOException
stop in interface NetworkManagerstop in interface ShoalMessageSenderIOException - if an I/O error occurspublic void addMessageListener(MessageListener messageListener)
MessageListeneraddMessageListener in interface NetworkManagermessageListener - a message listener which should be registered on this network managerpublic void removeMessageListener(MessageListener messageListener)
MessageListenerremoveMessageListener in interface NetworkManagermessageListener - a message listener which should be removedpublic void receiveMessage(Message message, Map piggyback)
Message
In this process, inbound Message will be wrapped into MessageEvent and be delivered to registered
MessageListener with corresponding to the message typereceiveMessage in interface NetworkManagermessage - inbound messagepiggyback - piggybackpublic PeerID getLocalPeerID()
PeerIDgetLocalPeerID in interface NetworkManagerpublic static NetworkManager getInstance(String transport)
protected abstract void beforeDispatchingMessage(MessageEvent messageEvent, Map piggyback)
MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be calledmessageEvent - a received MessageEventpiggyback - piggybackprotected abstract void afterDispatchingMessage(MessageEvent messageEvent, Map piggyback)
MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be calledmessageEvent - a received MessageEventpiggyback - piggybackpublic static Logger getLogger()
public void initialize(String groupName, String instanceName, Map properties) throws IOException
NetworkManagerinitialize in interface NetworkManagergroupName - group nameinstanceName - instance nameproperties - specific propertiesIOException - if an unexpected error occursCopyright © 2017–2020 Eclipse Foundation. All rights reserved.