public class PerMessageDeflateFunction extends Object implements ExtensionFunction
permessage-deflate
WebSocket Extension.
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
.
It uses the DEFLATE implementation algorithm packaged on Deflater
and Inflater
classes.Modifier and Type | Field and Description |
---|---|
static byte[] |
TAIL |
RSV1, RSV2, RSV3
Constructor and Description |
---|
PerMessageDeflateFunction(int deflaterLevel,
boolean compressContextTakeover,
boolean decompressContextTakeover)
Create a new
PerMessageDeflateExtension instance. |
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Dispose this function.
|
boolean |
hasExtensionOpCode()
Validate if current extension defines a new WebSocket Opcode.
|
PooledByteBuffer |
transformForRead(PooledByteBuffer pooledBuffer,
WebSocketChannel channel,
boolean lastFragmentOfFrame)
Transform the supplied buffer per this extension.
|
PooledByteBuffer |
transformForWrite(PooledByteBuffer pooledBuffer,
WebSocketChannel channel)
Transform the supplied buffer per this extension.
|
int |
writeRsv(int rsv)
Add RSV bits (RSV1, RSV2, RSV3) to the current rsv status.
|
public PerMessageDeflateFunction(int deflaterLevel, boolean compressContextTakeover, boolean decompressContextTakeover)
PerMessageDeflateExtension
instance.deflaterLevel
- 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 contextpublic int writeRsv(int rsv)
ExtensionFunction
writeRsv
in interface ExtensionFunction
rsv
- current RSV bits statuspublic boolean hasExtensionOpCode()
ExtensionFunction
hasExtensionOpCode
in interface ExtensionFunction
true
if current extension defines specific Opcode
false
is current extension does not define specific Opcodepublic PooledByteBuffer transformForWrite(PooledByteBuffer pooledBuffer, WebSocketChannel channel) throws IOException
ExtensionFunction
transformForWrite
in interface ExtensionFunction
pooledBuffer
- Buffer to transformchannel
- working channelIOException
public PooledByteBuffer transformForRead(PooledByteBuffer pooledBuffer, WebSocketChannel channel, boolean lastFragmentOfFrame) throws IOException
ExtensionFunction
transformForRead
in interface ExtensionFunction
pooledBuffer
- Buffer to transformchannel
- working channelIOException
public void dispose()
ExtensionFunction
dispose
in interface ExtensionFunction
Copyright © 2016 JBoss by Red Hat. All rights reserved.