Interface ServerSession.Extension
-
- All Known Implementing Classes:
AcknowledgedMessagesSessionExtension,ActivityExtension.SessionExtension,BinarySessionExtension
- Enclosing interface:
- ServerSession
public static interface ServerSession.ExtensionExtension API for
ServerSession.Implementations of this interface allow to modify incoming and outgoing messages for a particular session, before any other processing performed by the implementation but after
BayeuxServer.Extensionprocessing.Multiple extensions can be registered; the extension receive methods are invoked in registration order, while the extension send methods are invoked in registration reverse order.
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default voidincoming(ServerSession session, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)Callback method invoked every time a message is incoming.default voidoutgoing(ServerSession sender, ServerSession session, ServerMessage.Mutable message, Promise<ServerMessage.Mutable> promise)Callback method invoked every time a message is outgoing.default booleanrcv(ServerSession session, ServerMessage.Mutable message)Blocking version ofincoming(ServerSession, ServerMessage.Mutable, Promise)for non-meta messages.default booleanrcvMeta(ServerSession session, ServerMessage.Mutable message)Blocking version ofincoming(ServerSession, ServerMessage.Mutable, Promise)for meta messages.default ServerMessagesend(ServerSession sender, ServerSession session, ServerMessage message)Blocking version ofoutgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)for non-meta messages.default booleansendMeta(ServerSession sender, ServerSession session, ServerMessage.Mutable message)Blocking version ofoutgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)for meta messages.
-
-
-
Method Detail
-
incoming
default void incoming(ServerSession session, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)
Callback method invoked every time a message is incoming.
- Parameters:
session- the session that sent the messagemessage- the incoming messagepromise- the promise to notify whether message processing should continue
-
rcv
default boolean rcv(ServerSession session, ServerMessage.Mutable message)
Blocking version of
incoming(ServerSession, ServerMessage.Mutable, Promise)for non-meta messages.- Parameters:
session- the session that sent the messagemessage- the incoming message- Returns:
- whether message processing should continue
-
rcvMeta
default boolean rcvMeta(ServerSession session, ServerMessage.Mutable message)
Blocking version of
incoming(ServerSession, ServerMessage.Mutable, Promise)for meta messages.- Parameters:
session- the session that sent the messagemessage- the incoming message- Returns:
- whether message processing should continue
-
outgoing
default void outgoing(ServerSession sender, ServerSession session, ServerMessage.Mutable message, Promise<ServerMessage.Mutable> promise)
Callback method invoked every time a message is outgoing.
- Parameters:
sender- the session that sent the message or nullsession- the session receiving the messagemessage- the outgoing messagepromise- the promise to notify with the message to send or null to not send the message
-
send
default ServerMessage send(ServerSession sender, ServerSession session, ServerMessage message)
Blocking version of
outgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)for non-meta messages.- Parameters:
sender- the session that sent the message or nullsession- the session receiving the messagemessage- the outgoing message- Returns:
- the message to send or null to not send the message
-
sendMeta
default boolean sendMeta(ServerSession sender, ServerSession session, ServerMessage.Mutable message)
Blocking version of
outgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)for meta messages.- Parameters:
sender- the session that sent the message or nullsession- the session receiving the messagemessage- the outgoing message- Returns:
- whether message processing should continue
-
-