public interface ClusterCommunicationService
Modifier and Type | Method and Description |
---|---|
void |
addSubscriber(MessageSubject subject,
ClusterMessageHandler subscriber,
java.util.concurrent.ExecutorService executor)
Deprecated.
in Cardinal Release
|
<M> void |
addSubscriber(MessageSubject subject,
java.util.function.Function<byte[],M> decoder,
java.util.function.Consumer<M> handler,
java.util.concurrent.Executor executor)
Adds a new subscriber for the specified message subject.
|
<M,R> void |
addSubscriber(MessageSubject subject,
java.util.function.Function<byte[],M> decoder,
java.util.function.Function<M,java.util.concurrent.CompletableFuture<R>> handler,
java.util.function.Function<R,byte[]> encoder)
Adds a new subscriber for the specified message subject.
|
<M,R> void |
addSubscriber(MessageSubject subject,
java.util.function.Function<byte[],M> decoder,
java.util.function.Function<M,R> handler,
java.util.function.Function<R,byte[]> encoder,
java.util.concurrent.Executor executor)
Adds a new subscriber for the specified message subject.
|
<M> void |
broadcast(M message,
MessageSubject subject,
java.util.function.Function<M,byte[]> encoder)
Broadcasts a message to all controller nodes.
|
<M> void |
broadcastIncludeSelf(M message,
MessageSubject subject,
java.util.function.Function<M,byte[]> encoder)
Broadcasts a message to all controller nodes including self.
|
<M> void |
multicast(M message,
MessageSubject subject,
java.util.function.Function<M,byte[]> encoder,
java.util.Set<NodeId> nodeIds)
Multicasts a message to a set of controller nodes.
|
void |
removeSubscriber(MessageSubject subject)
Removes a subscriber for the specified message subject.
|
<M,R> java.util.concurrent.CompletableFuture<R> |
sendAndReceive(M message,
MessageSubject subject,
java.util.function.Function<M,byte[]> encoder,
java.util.function.Function<byte[],R> decoder,
NodeId toNodeId)
Sends a message and expects a reply.
|
<M> java.util.concurrent.CompletableFuture<java.lang.Void> |
unicast(M message,
MessageSubject subject,
java.util.function.Function<M,byte[]> encoder,
NodeId toNodeId)
Sends a message to the specified controller node.
|
@Deprecated void addSubscriber(MessageSubject subject, ClusterMessageHandler subscriber, java.util.concurrent.ExecutorService executor)
subject
- message subjectsubscriber
- message subscriberexecutor
- executor to use for running handler.<M> void broadcast(M message, MessageSubject subject, java.util.function.Function<M,byte[]> encoder)
M
- message typemessage
- message to sendsubject
- message subjectencoder
- function for encoding message to byte[]<M> void broadcastIncludeSelf(M message, MessageSubject subject, java.util.function.Function<M,byte[]> encoder)
M
- message typemessage
- message to sendsubject
- message subjectencoder
- function for encoding message to byte[]<M> java.util.concurrent.CompletableFuture<java.lang.Void> unicast(M message, MessageSubject subject, java.util.function.Function<M,byte[]> encoder, NodeId toNodeId)
M
- message typemessage
- message to sendsubject
- message subjectencoder
- function for encoding message to byte[]toNodeId
- destination node identifier<M> void multicast(M message, MessageSubject subject, java.util.function.Function<M,byte[]> encoder, java.util.Set<NodeId> nodeIds)
M
- message typemessage
- message to sendsubject
- message subjectencoder
- function for encoding message to byte[]nodeIds
- recipient node identifiers<M,R> java.util.concurrent.CompletableFuture<R> sendAndReceive(M message, MessageSubject subject, java.util.function.Function<M,byte[]> encoder, java.util.function.Function<byte[],R> decoder, NodeId toNodeId)
M
- request typeR
- reply typemessage
- message to sendsubject
- message subjectencoder
- function for encoding request to byte[]decoder
- function for decoding response from byte[]toNodeId
- recipient node identifier<M,R> void addSubscriber(MessageSubject subject, java.util.function.Function<byte[],M> decoder, java.util.function.Function<M,R> handler, java.util.function.Function<R,byte[]> encoder, java.util.concurrent.Executor executor)
M
- incoming message typeR
- reply message typesubject
- message subjectdecoder
- decoder for resurrecting incoming messagehandler
- handler function that processes the incoming message and produces a replyencoder
- encoder for serializing replyexecutor
- executor to run this handler on<M,R> void addSubscriber(MessageSubject subject, java.util.function.Function<byte[],M> decoder, java.util.function.Function<M,java.util.concurrent.CompletableFuture<R>> handler, java.util.function.Function<R,byte[]> encoder)
M
- incoming message typeR
- reply message typesubject
- message subjectdecoder
- decoder for resurrecting incoming messagehandler
- handler function that processes the incoming message and produces a replyencoder
- encoder for serializing reply<M> void addSubscriber(MessageSubject subject, java.util.function.Function<byte[],M> decoder, java.util.function.Consumer<M> handler, java.util.concurrent.Executor executor)
M
- incoming message typesubject
- message subjectdecoder
- decoder to resurrecting incoming messagehandler
- handler for handling messageexecutor
- executor to run this handler onvoid removeSubscriber(MessageSubject subject)
subject
- message subject