Class PerMessageDeflateHandshake
java.lang.Object
io.undertow.websockets.extensions.PerMessageDeflateHandshake
- All Implemented Interfaces:
ExtensionHandshake
Implementation of
permessage-deflate WebSocket Extension handshake.
This implementation supports parameters: server_no_context_takeover, client_no_context_takeover .
This implementation does not support parameters: server_max_window_bits, client_max_window_bits .
- Author:
- Lucas Ponce
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault configuration for DEFLATE algorithm implementation -
Constructor Summary
ConstructorsConstructorDescriptionPerMessageDeflateHandshake(boolean client) Create a newPerMessageDeflateHandshakeinstance.PerMessageDeflateHandshake(boolean client, boolean compressContextTakeover, boolean decompressContextTakeover) Create a newPerMessageDeflateHandshakeinstance.PerMessageDeflateHandshake(boolean client, int deflaterLevel) Create a newPerMessageDeflateHandshakeinstance.PerMessageDeflateHandshake(boolean client, int deflaterLevel, boolean compressContextTakeover, boolean decompressContextTakeover) Create a newPerMessageDeflateHandshakeinstance. -
Method Summary
Modifier and TypeMethodDescriptionaccept(WebSocketExtension extension) Validate if an extension request is accepted.create()Create a new instance of theExtensionFunctionassociated to this WebSocket Extension.getName()booleanisIncompatible(List<ExtensionHandshake> extensions) Validate if current extension is compatible with previously negotiated in the server side.
-
Field Details
-
DEFAULT_DEFLATER
public static final int DEFAULT_DEFLATERDefault configuration for DEFLATE algorithm implementation- See Also:
-
-
Constructor Details
-
PerMessageDeflateHandshake
public PerMessageDeflateHandshake() -
PerMessageDeflateHandshake
public PerMessageDeflateHandshake(boolean client) Create a newPerMessageDeflateHandshakeinstance.- Parameters:
client- indicate if extension is configured in client (true) context or server (false) context.
-
PerMessageDeflateHandshake
public PerMessageDeflateHandshake(boolean client, int deflaterLevel) Create a newPerMessageDeflateHandshakeinstance.- Parameters:
client- indicate if extension is configured in client (true) context or server (false) contextdeflaterLevel- the level of configuration of DEFLATE algorithm implementation
-
PerMessageDeflateHandshake
public PerMessageDeflateHandshake(boolean client, boolean compressContextTakeover, boolean decompressContextTakeover) Create a newPerMessageDeflateHandshakeinstance.- Parameters:
client- flag for client (true) context or server (false) contextcompressContextTakeover- flag for compressor context takeover or without compressor contextdecompressContextTakeover- flag for decompressor context takeover or without decompressor context
-
PerMessageDeflateHandshake
public PerMessageDeflateHandshake(boolean client, int deflaterLevel, boolean compressContextTakeover, boolean decompressContextTakeover) Create a newPerMessageDeflateHandshakeinstance.- Parameters:
client- flag for client (true) context or server (false) contextdeflaterLevel- the level of configuration of DEFLATE algorithm implementationcompressContextTakeover- flag for compressor context takeover or without compressor contextdecompressContextTakeover- flag for decompressor context takeover or without decompressor context
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceExtensionHandshake- Returns:
- name of the WebSocket Extension
-
accept
Description copied from interface:ExtensionHandshakeValidate if an extension request is accepted.- Specified by:
acceptin interfaceExtensionHandshake- Parameters:
extension- the extension request representation- Returns:
- a new
WebSocketExtensioninstance with parameters accepted;nullin case extension request is not accepted
-
isIncompatible
Description copied from interface:ExtensionHandshakeValidate if current extension is compatible with previously negotiated in the server side.- Specified by:
isIncompatiblein interfaceExtensionHandshake- Parameters:
extensions- a list of negotiated extensions- Returns:
trueif current extension is compatible;falseif current extension is not compatible
-
create
Description copied from interface:ExtensionHandshakeCreate a new instance of theExtensionFunctionassociated to this WebSocket Extension.- Specified by:
createin interfaceExtensionHandshake- Returns:
- a new instance
ExtensionFunction
-