Class PerMessageDeflateServerExtensionHandshaker
- java.lang.Object
-
- io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateServerExtensionHandshaker
-
- All Implemented Interfaces:
WebSocketServerExtensionHandshaker
public final class PerMessageDeflateServerExtensionHandshaker extends java.lang.Object implements WebSocketServerExtensionHandshaker
permessage-deflate handshake implementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PerMessageDeflateServerExtensionHandshaker.PermessageDeflateExtension
-
Field Summary
Fields Modifier and Type Field Description private boolean
allowServerNoContext
private boolean
allowServerWindowSize
(package private) static java.lang.String
CLIENT_MAX_WINDOW
(package private) static java.lang.String
CLIENT_NO_CONTEXT
private int
compressionLevel
private WebSocketExtensionFilterProvider
extensionFilterProvider
static int
MAX_WINDOW_SIZE
static int
MIN_WINDOW_SIZE
(package private) static java.lang.String
PERMESSAGE_DEFLATE_EXTENSION
private boolean
preferredClientNoContext
private int
preferredClientWindowSize
(package private) static java.lang.String
SERVER_MAX_WINDOW
(package private) static java.lang.String
SERVER_NO_CONTEXT
-
Constructor Summary
Constructors Constructor Description PerMessageDeflateServerExtensionHandshaker()
Constructor with default configuration.PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext)
Constructor with custom configuration.PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, WebSocketExtensionFilterProvider extensionFilterProvider)
Constructor with custom configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WebSocketServerExtension
handshakeExtension(WebSocketExtensionData extensionData)
Handshake based on client request.
-
-
-
Field Detail
-
MIN_WINDOW_SIZE
public static final int MIN_WINDOW_SIZE
- See Also:
- Constant Field Values
-
MAX_WINDOW_SIZE
public static final int MAX_WINDOW_SIZE
- See Also:
- Constant Field Values
-
PERMESSAGE_DEFLATE_EXTENSION
static final java.lang.String PERMESSAGE_DEFLATE_EXTENSION
- See Also:
- Constant Field Values
-
CLIENT_MAX_WINDOW
static final java.lang.String CLIENT_MAX_WINDOW
- See Also:
- Constant Field Values
-
SERVER_MAX_WINDOW
static final java.lang.String SERVER_MAX_WINDOW
- See Also:
- Constant Field Values
-
CLIENT_NO_CONTEXT
static final java.lang.String CLIENT_NO_CONTEXT
- See Also:
- Constant Field Values
-
SERVER_NO_CONTEXT
static final java.lang.String SERVER_NO_CONTEXT
- See Also:
- Constant Field Values
-
compressionLevel
private final int compressionLevel
-
allowServerWindowSize
private final boolean allowServerWindowSize
-
preferredClientWindowSize
private final int preferredClientWindowSize
-
allowServerNoContext
private final boolean allowServerNoContext
-
preferredClientNoContext
private final boolean preferredClientNoContext
-
extensionFilterProvider
private final WebSocketExtensionFilterProvider extensionFilterProvider
-
-
Constructor Detail
-
PerMessageDeflateServerExtensionHandshaker
public PerMessageDeflateServerExtensionHandshaker()
Constructor with default configuration.
-
PerMessageDeflateServerExtensionHandshaker
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, 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.
-
-
Method Detail
-
handshakeExtension
public WebSocketServerExtension handshakeExtension(WebSocketExtensionData extensionData)
Description copied from interface:WebSocketServerExtensionHandshaker
Handshake based on client request. It must failed with null if server cannot handle it.- Specified by:
handshakeExtension
in interfaceWebSocketServerExtensionHandshaker
- Parameters:
extensionData
- the extension configuration sent by the client.- Returns:
- an initialized extension if handshake phase succeed or null if failed.
-
-