@ThreadSafe
public interface UnicastMessenger
Messenger for the unicast communication between workers.
Implementations need to be thread-safe, as they are presented to possibly multi-threaded compute code.
Modifier and Type | Method and Description |
---|---|
WorkerAddress |
address() |
java.util.Set<WorkerAddress> |
neighbours() |
<T extends java.io.Serializable> |
registerListener(UnicastMessageListener<T> listener)
Registers a listener that will receive all incoming messages target for this address (obtained via
address() ). |
<T extends java.io.Serializable> |
removeListener(UnicastMessageListener<T> listener)
Removes the listener.
|
<T extends java.io.Serializable> |
send(java.util.Set<WorkerAddress> receivers,
T message)
Sends the message to the specified workers.
|
<T extends java.io.Serializable> |
send(WorkerAddress receiver,
T message)
Sends the message to the specified worker.
|
WorkerAddress address()
java.util.Set<WorkerAddress> neighbours()
<T extends java.io.Serializable> void send(WorkerAddress receiver, T message)
Sends the message to the specified worker.
T
- a type of the payload.receiver
- a recipient of the message.message
- a message to send.<T extends java.io.Serializable> void send(java.util.Set<WorkerAddress> receivers, T message)
Sends the message to the specified workers.
T
- a type of the payload.receivers
- a set of recipients of the message.message
- a message to send.<T extends java.io.Serializable> void registerListener(UnicastMessageListener<T> listener)
Registers a listener that will receive all incoming messages target for this address (obtained via address()
).
T
- a type of the payload.listener
- a listener to register.<T extends java.io.Serializable> void removeListener(UnicastMessageListener<T> listener)
Removes the listener.
T
- a type of the payload.listener
- a listener to remove.