Class DeflateEncoder
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelOutboundHandlerAdapter
io.netty.handler.codec.MessageToMessageEncoder<WebSocketFrame>
io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionEncoder
io.netty.handler.codec.http.websocketx.extensions.compression.DeflateEncoder
- All Implemented Interfaces:
ChannelHandler
,ChannelOutboundHandler
- Direct Known Subclasses:
PerFrameDeflateEncoder
,PerMessageDeflateEncoder
Deflate implementation of a payload compressor for
io.netty.handler.codec.http.websocketx.WebSocketFrame.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private EmbeddedChannel
private final WebSocketExtensionFilter
private final boolean
private final int
-
Constructor Summary
ConstructorsConstructorDescriptionDeflateEncoder
(int compressionLevel, int windowSize, boolean noContext, WebSocketExtensionFilter extensionEncoderFilter) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprivate void
cleanup()
private ByteBuf
protected void
encode
(ChannelHandlerContext ctx, WebSocketFrame msg, List<Object> out) Encode from one message to an other.protected WebSocketExtensionFilter
Returns the extension encoder filter.void
Do nothing by default, sub-classes may override this method.protected abstract boolean
protected abstract int
rsv
(WebSocketFrame msg) Methods inherited from class io.netty.handler.codec.MessageToMessageEncoder
acceptOutboundMessage, write
Methods inherited from class io.netty.channel.ChannelOutboundHandlerAdapter
bind, close, connect, deregister, disconnect, flush, read
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, exceptionCaught, handlerAdded, isSharable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.netty.channel.ChannelHandler
exceptionCaught, handlerAdded
-
Field Details
-
compressionLevel
private final int compressionLevel -
windowSize
private final int windowSize -
noContext
private final boolean noContext -
extensionEncoderFilter
-
encoder
-
-
Constructor Details
-
DeflateEncoder
DeflateEncoder(int compressionLevel, int windowSize, boolean noContext, WebSocketExtensionFilter extensionEncoderFilter) Constructor- Parameters:
compressionLevel
- compression level of the compressor.windowSize
- maximum size of the window compressor buffer.noContext
- true to disable context takeover.extensionEncoderFilter
- extension encoder filter.
-
-
Method Details
-
extensionEncoderFilter
Returns the extension encoder filter. -
rsv
- Parameters:
msg
- the current frame.- Returns:
- the rsv bits to set in the compressed frame.
-
removeFrameTail
- Parameters:
msg
- the current frame.- Returns:
- true if compressed payload tail needs to be removed.
-
encode
protected void encode(ChannelHandlerContext ctx, WebSocketFrame msg, List<Object> out) throws Exception Description copied from class:MessageToMessageEncoder
Encode from one message to an other. This method will be called for each written message that can be handled by this encoder.- Specified by:
encode
in classMessageToMessageEncoder<WebSocketFrame>
- Parameters:
ctx
- theChannelHandlerContext
which thisMessageToMessageEncoder
belongs tomsg
- the message to encode to an other oneout
- theList
into which the encoded msg should be added needs to do some kind of aggregation- Throws:
Exception
- is thrown if an error occurs
-
handlerRemoved
Description copied from class:ChannelHandlerAdapter
Do nothing by default, sub-classes may override this method.- Specified by:
handlerRemoved
in interfaceChannelHandler
- Overrides:
handlerRemoved
in classChannelHandlerAdapter
- Throws:
Exception
-
compressContent
-
cleanup
private void cleanup()
-