public class SubscriptionManager extends java.lang.Object implements MessageDispatch, com.github.benmanes.caffeine.cache.RemovalListener<atavism.server.messages.DeferredMessage,Message>
Modifier and Type | Class and Description |
---|---|
protected static class |
SubscriptionManager.SubscriptionKey |
NO_FLAGS, RESPONSE_EXPECTED
Modifier | Constructor and Description |
---|---|
protected |
SubscriptionManager(int subscriptionFlags) |
Modifier and Type | Method and Description |
---|---|
protected MessageTypeFilter |
createFilter(java.util.Collection<MessageType> types) |
static SubscriptionManager |
get() |
static SubscriptionManager |
get(int flags) |
protected static SubscriptionManager |
get(int flags,
java.util.Collection<Namespace> namespaces,
java.util.function.Function<SubscriptionManager.SubscriptionKey,SubscriptionManager> f) |
void |
handleMessage(Message msg,
int flags)
Handle message.
|
void |
onRemoval(atavism.server.messages.DeferredMessage dm,
Message message,
com.github.benmanes.caffeine.cache.RemovalCause cause) |
static void |
start(MessageType... types) |
void |
subscribe(MessageDispatch subscriber,
MessageType... types) |
void |
subscribe(MessageDispatch subscriber,
OID oid,
java.util.Collection<MessageType> types) |
void |
subscribe(MessageDispatch subscriber,
OID oid,
MessageType... types) |
void |
unsubscribe(MessageDispatch subscriber) |
void |
unsubscribe(MessageDispatch subscriber,
OID oid) |
void |
unsubscribe(MessageDispatch subscriber,
OID oid,
java.util.Collection<MessageType> types) |
void |
unsubscribe(MessageDispatch subscriber,
OID oid,
MessageType... types) |
public static SubscriptionManager get()
public static SubscriptionManager get(int flags)
protected static SubscriptionManager get(int flags, java.util.Collection<Namespace> namespaces, java.util.function.Function<SubscriptionManager.SubscriptionKey,SubscriptionManager> f)
public static void start(MessageType... types)
protected MessageTypeFilter createFilter(java.util.Collection<MessageType> types)
public void subscribe(MessageDispatch subscriber, OID oid, java.util.Collection<MessageType> types)
public void subscribe(MessageDispatch subscriber, MessageType... types)
public void subscribe(MessageDispatch subscriber, OID oid, MessageType... types)
public void unsubscribe(MessageDispatch subscriber)
public void unsubscribe(MessageDispatch subscriber, OID oid)
public void unsubscribe(MessageDispatch subscriber, OID oid, java.util.Collection<MessageType> types)
public void unsubscribe(MessageDispatch subscriber, OID oid, MessageType... types)
public void handleMessage(Message msg, int flags)
MessageCallback
handleMessage
in interface MessageCallback
msg
- Message sent from other agent.flags
- Bitwise OR of MessageCallback.NO_FLAGS
, MessageCallback.RESPONSE_EXPECTED
.