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

public final Class PerMessageDeflateClientExtensionHandshaker

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

permessage-deflate handshake implementation.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

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

Constructor Summary

AccessConstructor and Description
public
PerMessageDeflateClientExtensionHandshaker()

Constructor with default configuration.

public
PerMessageDeflateClientExtensionHandshaker(int
Compression level between 0 and 9 (default is 6).
compressionLevel
,
boolean
allows WebSocket server to customize the client inflater window size (default is false).
allowClientWindowSize
,
int
indicates the requested sever window size to use if server inflater is customizable.
requestedServerWindowSize
,
boolean
allows WebSocket server to activate client_no_context_takeover (default is false).
allowClientNoContext
,
boolean
indicates if client needs to activate server_no_context_takeover if server is compatible with (default is false).
requestedServerNoContext
)

Constructor with custom configuration.

public
PerMessageDeflateClientExtensionHandshaker(int
Compression level between 0 and 9 (default is 6).
compressionLevel
,
boolean
allows WebSocket server to customize the client inflater window size (default is false).
allowClientWindowSize
,
int
indicates the requested sever window size to use if server inflater is customizable.
requestedServerWindowSize
,
boolean
allows WebSocket server to activate client_no_context_takeover (default is false).
allowClientNoContext
,
boolean
indicates if client needs to activate server_no_context_takeover if server is compatible with (default is false).
requestedServerNoContext
,
WebSocketExtensionFilterProvider
provides client extension filters for per message deflate encoder and decoder.
extensionFilterProvider
)

Constructor with custom configuration.

Method Summary

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

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

Handshake based on server response.
public WebSocketExtensionData
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

allowClientNoContextback to summary
private final boolean allowClientNoContext
allowClientWindowSizeback to summary
private final boolean allowClientWindowSize
compressionLevelback to summary
private final int compressionLevel
extensionFilterProviderback to summary
private final WebSocketExtensionFilterProvider extensionFilterProvider
requestedServerNoContextback to summary
private final boolean requestedServerNoContext
requestedServerWindowSizeback to summary
private final int requestedServerWindowSize

Constructor Detail

PerMessageDeflateClientExtensionHandshakerback to summary
public PerMessageDeflateClientExtensionHandshaker()

Constructor with default configuration.

PerMessageDeflateClientExtensionHandshakerback to summary
public PerMessageDeflateClientExtensionHandshaker(int compressionLevel, boolean allowClientWindowSize, int requestedServerWindowSize, boolean allowClientNoContext, boolean requestedServerNoContext)

Constructor with custom configuration.

Parameters
compressionLevel:int

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

allowClientWindowSize:boolean

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

requestedServerWindowSize:int

indicates the requested sever window size to use if server inflater is customizable.

allowClientNoContext:boolean

allows WebSocket server to activate client_no_context_takeover (default is false).

requestedServerNoContext:boolean

indicates if client needs to activate server_no_context_takeover if server is compatible with (default is false).

PerMessageDeflateClientExtensionHandshakerback to summary
public PerMessageDeflateClientExtensionHandshaker(int compressionLevel, boolean allowClientWindowSize, int requestedServerWindowSize, boolean allowClientNoContext, boolean requestedServerNoContext, WebSocketExtensionFilterProvider extensionFilterProvider)

Constructor with custom configuration.

Parameters
compressionLevel:int

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

allowClientWindowSize:boolean

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

requestedServerWindowSize:int

indicates the requested sever window size to use if server inflater is customizable.

allowClientNoContext:boolean

allows WebSocket server to activate client_no_context_takeover (default is false).

requestedServerNoContext:boolean

indicates if client needs to activate server_no_context_takeover if server is compatible with (default is false).

extensionFilterProvider:WebSocketExtensionFilterProvider

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

Method Detail

handshakeExtensionback to summary
public WebSocketClientExtension handshakeExtension(WebSocketExtensionData extensionData)

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

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

Handshake based on server response. It should always succeed because server response should be a request acknowledge.

Parameters
extensionData:WebSocketExtensionData

the extension configuration sent by the server.

Returns:WebSocketClientExtension

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

Annotations
@Override
newRequestDataback to summary
public WebSocketExtensionData newRequestData()

Implements io.netty.handler.codec.http.websocketx.extensions.WebSocketClientExtensionHandshaker.newRequestData.

Doc from io.netty.handler.codec.http.websocketx.extensions.WebSocketClientExtensionHandshaker.newRequestData.

Return extension configuration to submit to the server.

Returns:WebSocketExtensionData

the desired extension configuration.

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

private final Class PerMessageDeflateClientExtensionHandshaker.PermessageDeflateExtension

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

Field Summary

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

Constructor Summary

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

Method Summary

Modifier and TypeMethod and Description
public WebSocketExtensionDecoder
public WebSocketExtensionEncoder
public int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

clientNoContextback to summary
private final boolean clientNoContext
clientWindowSizeback to summary
private final int clientWindowSize
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(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
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