Interface ClientSession.Extension

All Known Implementing Classes:
AckExtension, BinaryExtension, TimestampClientExtension, TimesyncClientExtension
Enclosing interface:
ClientSession

public static interface ClientSession.Extension

Extension API for client session.

An extension allows user code to interact with the Bayeux protocol as late as messages are sent or as soon as messages are received.

Messages may be modified, or state held, so that the extension adds a specific behavior simply by observing the flow of Bayeux messages.

See Also:
ClientSession.addExtension(Extension)
  • Method Details

    • incoming

      default void incoming​(ClientSession session, Message.Mutable message, Promise<java.lang.Boolean> promise)

      Callback method invoked every time a message is incoming.

      Parameters:
      session - the session that sent the message
      message - the incoming message
      promise - the promise to notify whether message processing should continue
    • rcv

      default boolean rcv​(ClientSession session, Message.Mutable message)
      Callback method invoked every time a normal message is received.
      Parameters:
      session - the session object that is receiving the message
      message - the message received
      Returns:
      true if message processing should continue, false if it should stop
    • rcvMeta

      default boolean rcvMeta​(ClientSession session, Message.Mutable message)
      Callback method invoked every time a meta message is received.
      Parameters:
      session - the session object that is receiving the meta message
      message - the meta message received
      Returns:
      true if message processing should continue, false if it should stop
    • outgoing

      default void outgoing​(ClientSession session, Message.Mutable message, Promise<java.lang.Boolean> promise)

      Callback method invoked every time a message is outgoing.

      Parameters:
      session - the session that sent the message
      message - the outgoing message
      promise - the promise to notify whether message processing should continue
    • send

      default boolean send​(ClientSession session, Message.Mutable message)
      Callback method invoked every time a normal message is being sent.
      Parameters:
      session - the session object that is sending the message
      message - the message being sent
      Returns:
      true if message processing should continue, false if it should stop
    • sendMeta

      default boolean sendMeta​(ClientSession session, Message.Mutable message)
      Callback method invoked every time a meta message is being sent.
      Parameters:
      session - the session object that is sending the message
      message - the meta message being sent
      Returns:
      true if message processing should continue, false if it should stop