Interface Extension

All Superinterfaces:
AutoCloseable, Closeable, IncomingFrames, OutgoingFrames
All Known Implementing Classes:
AbstractExtension, FragmentExtension, FrameCaptureExtension, IdentityExtension, PerMessageDeflateExtension, ValidationExtension

public interface Extension extends IncomingFrames, OutgoingFrames, Closeable
Interface for WebSocket Extensions.

That Frames are passed through the Extension via the IncomingFrames and OutgoingFrames interfaces

  • Method Details

    • init

      void init(ExtensionConfig config, WebSocketComponents components)
    • close

      default void close()
      Used to clean up any resources after connection close.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • getConfig

      ExtensionConfig getConfig()
      The active configuration for this extension.
      Returns:
      the configuration for this extension. never null.
    • getName

      String getName()
      The Sec-WebSocket-Extensions name for this extension.

      Also known as the extension-token per Section 9.1. Negotiating Extensions.

      Returns:
      the name of the extension
    • isRsv1User

      boolean isRsv1User()
      Used to indicate that the extension makes use of the RSV1 bit of the base websocket framing.

      This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV1.

      Returns:
      true if extension uses RSV1 for its own purposes.
    • isRsv2User

      boolean isRsv2User()
      Used to indicate that the extension makes use of the RSV2 bit of the base websocket framing.

      This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV2.

      Returns:
      true if extension uses RSV2 for its own purposes.
    • isRsv3User

      boolean isRsv3User()
      Used to indicate that the extension makes use of the RSV3 bit of the base websocket framing.

      This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV3.

      Returns:
      true if extension uses RSV3 for its own purposes.
    • setNextIncomingFrames

      void setNextIncomingFrames(IncomingFrames nextIncoming)
      Set the next IncomingFrames to call in the chain.
      Parameters:
      nextIncoming - the next incoming extension
    • setNextOutgoingFrames

      void setNextOutgoingFrames(OutgoingFrames nextOutgoing)
      Set the next OutgoingFrames to call in the chain.
      Parameters:
      nextOutgoing - the next outgoing extension
    • setCoreSession

      void setCoreSession(CoreSession coreSession)
      Parameters:
      coreSession - the CoreSession for this Extension.