Interface BayeuxServer.Extension
-
- All Known Implementing Classes:
AcknowledgedMessagesExtension
,ActivityExtension
,BinaryExtension
,TimestampExtension
,TimesyncExtension
- Enclosing interface:
- BayeuxServer
public static interface BayeuxServer.Extension
Extension API for
BayeuxServer
.Implementations of this interface allow to modify incoming and outgoing messages before any other processing performed by the implementation.
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.
- See Also:
BayeuxServer.addExtension(Extension)
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default void
incoming(ServerSession from, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)
Callback method invoked every time a message is incoming.default void
outgoing(ServerSession from, ServerSession to, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)
Callback method invoked every time a message is outgoing.default boolean
rcv(ServerSession from, ServerMessage.Mutable message)
Blocking version ofincoming(ServerSession, ServerMessage.Mutable, Promise)
for non-meta messages.default boolean
rcvMeta(ServerSession from, ServerMessage.Mutable message)
Blocking version ofincoming(ServerSession, ServerMessage.Mutable, Promise)
for meta messages.default boolean
send(ServerSession from, ServerSession to, ServerMessage.Mutable message)
Blocking version ofoutgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)
for non-meta messages.default boolean
sendMeta(ServerSession to, ServerMessage.Mutable message)
Blocking version ofoutgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)
for meta messages.
-
-
-
Method Detail
-
incoming
default void incoming(ServerSession from, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)
Callback method invoked every time a message is incoming.
- Parameters:
from
- the session that sent the messagemessage
- the incoming messagepromise
- the promise to notify whether message processing should continue
-
rcv
default boolean rcv(ServerSession from, ServerMessage.Mutable message)
Blocking version of
incoming(ServerSession, ServerMessage.Mutable, Promise)
for non-meta messages.- Parameters:
from
- the session that sent the messagemessage
- the incoming message- Returns:
- whether message processing should continue
-
rcvMeta
default boolean rcvMeta(ServerSession from, ServerMessage.Mutable message)
Blocking version of
incoming(ServerSession, ServerMessage.Mutable, Promise)
for meta messages.- Parameters:
from
- the session that sent the messagemessage
- the incoming message- Returns:
- whether message processing should continue
-
outgoing
default void outgoing(ServerSession from, ServerSession to, ServerMessage.Mutable message, Promise<java.lang.Boolean> promise)
Callback method invoked every time a message is outgoing.
- Parameters:
from
- the session that sent the message or nullto
- the session the message is sent to, or null for a publish.message
- the outgoing messagepromise
- the promise to notify whether message processing should continue
-
send
default boolean send(ServerSession from, ServerSession to, ServerMessage.Mutable message)
Blocking version of
outgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)
for non-meta messages.- Parameters:
from
- the session that sent the message or nullto
- the session the message is sent to, or null for a publish.message
- the outgoing message- Returns:
- whether message processing should continue
-
sendMeta
default boolean sendMeta(ServerSession to, ServerMessage.Mutable message)
Blocking version of
outgoing(ServerSession, ServerSession, ServerMessage.Mutable, Promise)
for meta messages.- Parameters:
to
- the session the message is sent to, or null for a publish.message
- the outgoing message- Returns:
- whether message processing should continue
-
-