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 classPerMessageDeflateServerExtensionHandshaker.PermessageDeflateExtension
-
Field Summary
Fields Modifier and Type Field Description private booleanallowServerNoContextprivate booleanallowServerWindowSize(package private) static java.lang.StringCLIENT_MAX_WINDOW(package private) static java.lang.StringCLIENT_NO_CONTEXTprivate intcompressionLevelprivate WebSocketExtensionFilterProviderextensionFilterProviderstatic intMAX_WINDOW_SIZEstatic intMIN_WINDOW_SIZE(package private) static java.lang.StringPERMESSAGE_DEFLATE_EXTENSIONprivate booleanpreferredClientNoContextprivate intpreferredClientWindowSize(package private) static java.lang.StringSERVER_MAX_WINDOW(package private) static java.lang.StringSERVER_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 WebSocketServerExtensionhandshakeExtension(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:WebSocketServerExtensionHandshakerHandshake based on client request. It must failed with null if server cannot handle it.- Specified by:
handshakeExtensionin interfaceWebSocketServerExtensionHandshaker- Parameters:
extensionData- the extension configuration sent by the client.- Returns:
- an initialized extension if handshake phase succeed or null if failed.
-
-