Class PerMessageDeflateServerExtensionHandshaker

java.lang.Object
io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateServerExtensionHandshaker
All Implemented Interfaces:
WebSocketServerExtensionHandshaker

public final class PerMessageDeflateServerExtensionHandshaker extends Object implements WebSocketServerExtensionHandshaker
permessage-deflate handshake implementation.
  • Field Details

  • Constructor Details

    • PerMessageDeflateServerExtensionHandshaker

      @Deprecated public PerMessageDeflateServerExtensionHandshaker()
      Deprecated.
      Use
      invalid @link
      {@link PerMessageDeflateServerExtensionHandshaker#
      PerMessageDeflateServerExtensionHandshaker(int)}.
      Constructor with default configuration.
    • PerMessageDeflateServerExtensionHandshaker

      public PerMessageDeflateServerExtensionHandshaker(int maxAllocation)
      Constructor with default configuration.
      Parameters:
      maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is not limited.
    • PerMessageDeflateServerExtensionHandshaker

      @Deprecated public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext)
      Constructor with custom configuration.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
    • PerMessageDeflateServerExtensionHandshaker

      public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, int maxAllocation)
      Constructor with custom configuration.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
      maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is not limited.
    • PerMessageDeflateServerExtensionHandshaker

      public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, int serverWindowSize, int memLevel, int maxAllocation)
      Constructor with custom configuration including server-side compressor memory limits.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
      serverWindowSize - upper bound (in bits, 8-15) on the server-side deflate window. If the client offers server_max_window_bits=N, the negotiated value is min(N, serverWindowSize). Set lower than MAX_WINDOW_SIZE to reduce per-connection memory.
      memLevel - zlib memory level for the server-side deflater (1-9). Lower values reduce per-connection memory at the cost of compression ratio.
      maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is not limited.
    • PerMessageDeflateServerExtensionHandshaker

      @Deprecated public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, WebSocketExtensionFilterProvider extensionFilterProvider)
      Constructor with custom configuration.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
      extensionFilterProvider - provides server extension filters for per message deflate encoder and decoder.
    • PerMessageDeflateServerExtensionHandshaker

      @Deprecated public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, WebSocketExtensionFilterProvider extensionFilterProvider, int maxAllocation)
      Constructor with custom configuration.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
      extensionFilterProvider - provides server extension filters for per message deflate encoder and decoder.
      maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is not limited.
    • PerMessageDeflateServerExtensionHandshaker

      public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, int serverWindowSize, int memLevel, WebSocketExtensionFilterProvider extensionFilterProvider, int maxAllocation)
      Constructor with full custom configuration.
      Parameters:
      compressionLevel - Compression level between 0 and 9 (default is 6).
      allowServerWindowSize - allows WebSocket client to customize the server inflater window size (default is false).
      preferredClientWindowSize - indicates the preferred client window size to use if client inflater is customizable.
      allowServerNoContext - allows WebSocket client to activate server_no_context_takeover (default is false).
      preferredClientNoContext - indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).
      serverWindowSize - upper bound (in bits, 8-15) on the server-side deflate window. If the client offers server_max_window_bits=N, the negotiated value is min(N, serverWindowSize). Per RFC 7692 ยง7.1.2.1 the server may include server_max_window_bits with the same or smaller value than the offer; this handshaker also advertises it unilaterally when serverWindowSize is less than MAX_WINDOW_SIZE.
      memLevel - zlib memory level for the server-side deflater (1-9). Lower values reduce per-connection memory at the cost of compression ratio.
      extensionFilterProvider - provides server extension filters for per message deflate encoder and decoder.
      maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is not limited.
  • Method Details