Interface ClientSession.Extension

  • All Known Implementing Classes:
    ClientSession.Extension.Adapter
    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 Detail

      • 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