public class JdkZlibEncoder extends ZlibEncoder
ByteBuf
using the deflate algorithm.ChannelHandler.Sharable
构造器和说明 |
---|
JdkZlibEncoder()
Creates a new zlib encoder with the default compression level (
6 )
and the default wrapper (ZlibWrapper.ZLIB ). |
JdkZlibEncoder(byte[] dictionary)
Creates a new zlib encoder with the default compression level (
6 )
and the specified preset dictionary. |
JdkZlibEncoder(int compressionLevel)
Creates a new zlib encoder with the specified
compressionLevel
and the default wrapper (ZlibWrapper.ZLIB ). |
JdkZlibEncoder(int compressionLevel,
byte[] dictionary)
Creates a new zlib encoder with the specified
compressionLevel
and the specified preset dictionary. |
JdkZlibEncoder(ZlibWrapper wrapper)
Creates a new zlib encoder with the default compression level (
6 )
and the specified wrapper. |
JdkZlibEncoder(ZlibWrapper wrapper,
int compressionLevel)
Creates a new zlib encoder with the specified
compressionLevel
and the specified wrapper. |
限定符和类型 | 方法和说明 |
---|---|
protected ByteBuf |
allocateBuffer(ChannelHandlerContext ctx,
ByteBuf msg,
boolean preferDirect)
Allocate a
ByteBuf which will be used as argument of #encode(ChannelHandlerContext, I, ByteBuf) . |
ChannelFuture |
close()
Close this
ZlibEncoder and so finish the encoding. |
void |
close(ChannelHandlerContext ctx,
ChannelPromise promise)
Calls
ChannelHandlerContext.close(ChannelPromise) to forward
to the next ChannelOutboundHandler in the ChannelPipeline . |
ChannelFuture |
close(ChannelPromise promise)
Close this
ZlibEncoder and so finish the encoding. |
protected void |
encode(ChannelHandlerContext ctx,
ByteBuf uncompressed,
ByteBuf out)
Encode a message into a
ByteBuf . |
void |
handlerAdded(ChannelHandlerContext ctx)
Do nothing by default, sub-classes may override this method.
|
boolean |
isClosed()
Returns
true if and only if the end of the compressed stream
has been reached. |
acceptOutboundMessage, write
bind, connect, deregister, disconnect, flush, read
ensureNotSharable, exceptionCaught, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
exceptionCaught, handlerRemoved
public JdkZlibEncoder()
6
)
and the default wrapper (ZlibWrapper.ZLIB
).CompressionException
- if failed to initialize zlibpublic JdkZlibEncoder(int compressionLevel)
compressionLevel
and the default wrapper (ZlibWrapper.ZLIB
).compressionLevel
- 1
yields the fastest compression and 9
yields the
best compression. 0
means no compression. The default
compression level is 6
.CompressionException
- if failed to initialize zlibpublic JdkZlibEncoder(ZlibWrapper wrapper)
6
)
and the specified wrapper.CompressionException
- if failed to initialize zlibpublic JdkZlibEncoder(ZlibWrapper wrapper, int compressionLevel)
compressionLevel
and the specified wrapper.compressionLevel
- 1
yields the fastest compression and 9
yields the
best compression. 0
means no compression. The default
compression level is 6
.CompressionException
- if failed to initialize zlibpublic JdkZlibEncoder(byte[] dictionary)
6
)
and the specified preset dictionary. The wrapper is always
ZlibWrapper.ZLIB
because it is the only format that supports
the preset dictionary.dictionary
- the preset dictionaryCompressionException
- if failed to initialize zlibpublic JdkZlibEncoder(int compressionLevel, byte[] dictionary)
compressionLevel
and the specified preset dictionary. The wrapper is always
ZlibWrapper.ZLIB
because it is the only format that supports
the preset dictionary.compressionLevel
- 1
yields the fastest compression and 9
yields the
best compression. 0
means no compression. The default
compression level is 6
.dictionary
- the preset dictionaryCompressionException
- if failed to initialize zlibpublic ChannelFuture close()
ZlibEncoder
ZlibEncoder
and so finish the encoding.
The returned ChannelFuture
will be notified once the
operation completes.close
在类中 ZlibEncoder
public ChannelFuture close(ChannelPromise promise)
ZlibEncoder
ZlibEncoder
and so finish the encoding.
The given ChannelFuture
will be notified once the operation
completes and will also be returned.close
在类中 ZlibEncoder
public boolean isClosed()
ZlibEncoder
true
if and only if the end of the compressed stream
has been reached.isClosed
在类中 ZlibEncoder
protected void encode(ChannelHandlerContext ctx, ByteBuf uncompressed, ByteBuf out) throws java.lang.Exception
MessageToByteEncoder
ByteBuf
. This method will be called for each written message that can be handled
by this encoder.encode
在类中 MessageToByteEncoder<ByteBuf>
ctx
- the ChannelHandlerContext
which this MessageToByteEncoder
belongs touncompressed
- the message to encodeout
- the ByteBuf
into which the encoded message will be writtenjava.lang.Exception
- is thrown if an error occursprotected final ByteBuf allocateBuffer(ChannelHandlerContext ctx, ByteBuf msg, boolean preferDirect) throws java.lang.Exception
MessageToByteEncoder
ByteBuf
which will be used as argument of #encode(ChannelHandlerContext, I, ByteBuf)
.
Sub-classes may override this method to return ByteBuf
with a perfect matching initialCapacity
.allocateBuffer
在类中 MessageToByteEncoder<ByteBuf>
java.lang.Exception
public void close(ChannelHandlerContext ctx, ChannelPromise promise) throws java.lang.Exception
ChannelOutboundHandlerAdapter
ChannelHandlerContext.close(ChannelPromise)
to forward
to the next ChannelOutboundHandler
in the ChannelPipeline
.
Sub-classes may override this method to change behavior.close
在接口中 ChannelOutboundHandler
close
在类中 ChannelOutboundHandlerAdapter
ctx
- the ChannelHandlerContext
for which the close operation is madepromise
- the ChannelPromise
to notify once the operation completesjava.lang.Exception
- thrown if an error occurspublic void handlerAdded(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelHandlerAdapter
handlerAdded
在接口中 ChannelHandler
handlerAdded
在类中 ChannelHandlerAdapter
java.lang.Exception