Top Description Inners Fields Constructors Methods
io.netty.handler.codec.http.websocketx.extensions.compression

public final Class PerMessageDeflateServerExtensionHandshaker

extends Object
implements WebSocketServerExtensionHandshaker
Class Inheritance
All Implemented Interfaces
io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandshaker
Imports
io.netty.handler.codec.compression.ZlibCodecFactory, io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionData, .WebSocketExtensionDecoder, .WebSocketExtensionEncoder, .WebSocketExtensionFilterProvider, .WebSocketServerExtension, .WebSocketServerExtensionHandshaker, java.util.HashMap, .Iterator, .Map.Entry

permessage-deflate handshake implementation.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final boolean
private final boolean
pack-priv static final String
pack-priv static final String
private final int
private final WebSocketExtensionFilterProvider
public static final int
public static final int
pack-priv static final String
private final boolean
private final int
pack-priv static final String
pack-priv static final String

Constructor Summary

AccessConstructor and Description
public
PerMessageDeflateServerExtensionHandshaker()

Constructor with default configuration.

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

Constructor with custom configuration.

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

Constructor with custom configuration.

Method Summary

Modifier and TypeMethod and Description
public WebSocketServerExtension
handshakeExtension(WebSocketExtensionData
the extension configuration sent by the client.
extensionData
)

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandshaker.handshakeExtension.

Handshake based on client request.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

allowServerNoContextback to summary
private final boolean allowServerNoContext
allowServerWindowSizeback to summary
private final boolean allowServerWindowSize
CLIENT_MAX_WINDOWback to summary
pack-priv static final String CLIENT_MAX_WINDOW
CLIENT_NO_CONTEXTback to summary
pack-priv static final String CLIENT_NO_CONTEXT
compressionLevelback to summary
private final int compressionLevel
extensionFilterProviderback to summary
private final WebSocketExtensionFilterProvider extensionFilterProvider
MAX_WINDOW_SIZEback to summary
public static final int MAX_WINDOW_SIZE
MIN_WINDOW_SIZEback to summary
public static final int MIN_WINDOW_SIZE
PERMESSAGE_DEFLATE_EXTENSIONback to summary
pack-priv static final String PERMESSAGE_DEFLATE_EXTENSION
preferredClientNoContextback to summary
private final boolean preferredClientNoContext
preferredClientWindowSizeback to summary
private final int preferredClientWindowSize
SERVER_MAX_WINDOWback to summary
pack-priv static final String SERVER_MAX_WINDOW
SERVER_NO_CONTEXTback to summary
pack-priv static final String SERVER_NO_CONTEXT

Constructor Detail

PerMessageDeflateServerExtensionHandshakerback to summary
public PerMessageDeflateServerExtensionHandshaker()

Constructor with default configuration.

PerMessageDeflateServerExtensionHandshakerback to summary
public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext)

Constructor with custom configuration.

Parameters
compressionLevel:int

Compression level between 0 and 9 (default is 6).

allowServerWindowSize:boolean

allows WebSocket client to customize the server inflater window size (default is false).

preferredClientWindowSize:int

indicates the preferred client window size to use if client inflater is customizable.

allowServerNoContext:boolean

allows WebSocket client to activate server_no_context_takeover (default is false).

preferredClientNoContext:boolean

indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).

PerMessageDeflateServerExtensionHandshakerback to summary
public PerMessageDeflateServerExtensionHandshaker(int compressionLevel, boolean allowServerWindowSize, int preferredClientWindowSize, boolean allowServerNoContext, boolean preferredClientNoContext, WebSocketExtensionFilterProvider extensionFilterProvider)

Constructor with custom configuration.

Parameters
compressionLevel:int

Compression level between 0 and 9 (default is 6).

allowServerWindowSize:boolean

allows WebSocket client to customize the server inflater window size (default is false).

preferredClientWindowSize:int

indicates the preferred client window size to use if client inflater is customizable.

allowServerNoContext:boolean

allows WebSocket client to activate server_no_context_takeover (default is false).

preferredClientNoContext:boolean

indicates if server prefers to activate client_no_context_takeover if client is compatible with (default is false).

extensionFilterProvider:WebSocketExtensionFilterProvider

provides server extension filters for per message deflate encoder and decoder.

Method Detail

handshakeExtensionback to summary
public WebSocketServerExtension handshakeExtension(WebSocketExtensionData extensionData)

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandshaker.handshakeExtension.

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandshaker.handshakeExtension.

Handshake based on client request. It must failed with null if server cannot handle it.

Parameters
extensionData:WebSocketExtensionData

the extension configuration sent by the client.

Returns:WebSocketServerExtension

an initialized extension if handshake phase succeed or null if failed.

Annotations
@Override
io.netty.handler.codec.http.websocketx.extensions.compression back to summary

private Class PerMessageDeflateServerExtensionHandshaker.PermessageDeflateExtension

extends Object
implements WebSocketServerExtension
Class Inheritance
  • java.lang.Object
  • io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateServerExtensionHandshaker.PermessageDeflateExtension
All Implemented Interfaces
io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtension, io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension

Field Summary

Modifier and TypeField and Description
private final boolean
private final int
private final int
private final WebSocketExtensionFilterProvider
private final boolean
private final int

Constructor Summary

AccessConstructor and Description
pack-priv
PermessageDeflateExtension(int compressionLevel, boolean serverNoContext, int serverWindowSize, boolean clientNoContext, int clientWindowSize, WebSocketExtensionFilterProvider extensionFilterProvider)

Method Summary

Modifier and TypeMethod and Description
public WebSocketExtensionDecoder
public WebSocketExtensionEncoder
public WebSocketExtensionData
newReponseData()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtension.newReponseData.

Return an extension configuration to submit to the client as an acknowledge.
public int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

clientNoContextback to summary
private final boolean clientNoContext
clientWindowSizeback to summary
private final int clientWindowSize
compressionLevelback to summary
private final int compressionLevel
extensionFilterProviderback to summary
private final WebSocketExtensionFilterProvider extensionFilterProvider
serverNoContextback to summary
private final boolean serverNoContext
serverWindowSizeback to summary
private final int serverWindowSize

Constructor Detail

PermessageDeflateExtensionback to summary
pack-priv PermessageDeflateExtension(int compressionLevel, boolean serverNoContext, int serverWindowSize, boolean clientNoContext, int clientWindowSize, WebSocketExtensionFilterProvider extensionFilterProvider)

Method Detail

newExtensionDecoderback to summary
public WebSocketExtensionDecoder newExtensionDecoder()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.newExtensionDecoder.

Returns:WebSocketExtensionDecoder

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.newExtensionDecoder.

create the extension decoder.

Annotations
@Override
newExtensionEncoderback to summary
public WebSocketExtensionEncoder newExtensionEncoder()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.newExtensionEncoder.

Returns:WebSocketExtensionEncoder

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.newExtensionEncoder.

create the extension encoder.

Annotations
@Override
newReponseDataback to summary
public WebSocketExtensionData newReponseData()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtension.newReponseData.

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtension.newReponseData.

Return an extension configuration to submit to the client as an acknowledge.

Returns:WebSocketExtensionData

the acknowledged extension configuration.

Annotations
@Override
rsvback to summary
public int rsv()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.rsv.

Returns:int

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketExtension.rsv.

the reserved bit value to ensure that no other extension should interfere.

Annotations
@Override