public class JdkZlibEncoder extends ZlibEncoder
ByteBuf
。
ChannelHandler.Sharable
Constructor and Description |
---|
JdkZlibEncoder()
使用默认压缩级别(
6 )和默认包装器(
ZlibWrapper.ZLIB )创建新的zlib编码器。
|
JdkZlibEncoder(byte[] dictionary)
使用默认压缩级别(
6 )和指定的预设词典创建新的zlib编码器。
|
JdkZlibEncoder(int compressionLevel)
用指定的
compressionLevel 和默认包装器(
ZlibWrapper.ZLIB )创建一个新的zlib编码器。
|
JdkZlibEncoder(int compressionLevel, byte[] dictionary)
用指定的
compressionLevel 和指定的预置字典创建一个新的zlib编码器。
|
JdkZlibEncoder(ZlibWrapper wrapper)
用默认压缩级别(
6 )和指定的包装器创建一个新的zlib编码器。
|
JdkZlibEncoder(ZlibWrapper wrapper, int compressionLevel)
用指定的
compressionLevel 和指定的包装器创建一个新的zlib编码器。
|
Modifier and Type | Method and Description |
---|---|
protected ByteBuf |
allocateBuffer(ChannelHandlerContext ctx, ByteBuf msg, boolean preferDirect)
分配一个 ByteBuf ,它将用作#encode(ChannelHandlerContext, I, ByteBuf) 参数。
|
ChannelFuture |
close()
关闭此 ZlibEncoder 并完成编码。
|
void |
close(ChannelHandlerContext ctx, ChannelPromise promise)
|
ChannelFuture |
close(ChannelPromise promise)
关闭此 ZlibEncoder 并完成编码。
|
protected void |
encode(ChannelHandlerContext ctx, ByteBuf uncompressed, ByteBuf out)
将消息编码成 ByteBuf 。
|
void |
handlerAdded(ChannelHandlerContext ctx)
子类可以忽略这个方法。
|
boolean |
isClosed()
当且仅当已达到压缩流的结束时才返回
true 。
|
acceptOutboundMessage, isPreferDirect, 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
)和默认包装器(
ZlibWrapper.ZLIB
)创建新的zlib编码器。
CompressionException
- 如果初始化zlib失败
public JdkZlibEncoder(int compressionLevel)
compressionLevel
和默认包装器(
ZlibWrapper.ZLIB
)创建一个新的zlib编码器。
compressionLevel
- 1
产生最快的压缩率, 9
产生最好的压缩率。
0
意味着没有压缩。
默认的压缩级别是6
。
CompressionException
- 如果初始化zlib失败
public JdkZlibEncoder(ZlibWrapper wrapper)
6
)和指定的包装器创建一个新的zlib编码器。
CompressionException
- 如果初始化zlib失败
public JdkZlibEncoder(ZlibWrapper wrapper, int compressionLevel)
compressionLevel
和指定的包装器创建一个新的zlib编码器。
compressionLevel
- 1
产生最快的压缩率, 9
产生最好的压缩率。
0
表示不压缩。
默认的压缩级别是6
。
CompressionException
- 如果初始化zlib失败
public JdkZlibEncoder(byte[] dictionary)
6
)和指定的预设字典创建新的zlib编码器。
包装始终是ZlibWrapper.ZLIB
,因为它是支持预设字典的唯一格式。
dictionary
- 预设词典
CompressionException
- 如果初始化zlib失败
public JdkZlibEncoder(int compressionLevel, byte[] dictionary)
compressionLevel
和指定的预置字典创建一个新的zlib编码器。
包装始终是ZlibWrapper.ZLIB
,因为它是唯一支持预设字典的格式。
compressionLevel
- 1
产生最快的压缩率, 9
产生最好的压缩率。
0
表示没有压缩。
默认的压缩级别是6
。
dictionary
- 预设词典
CompressionException
- 如果初始化zlib失败
public ChannelFuture close()
ZlibEncoder
ZlibEncoder
并完成编码。
一旦操作完成,返回的ChannelFuture
将会收到通知。
close
在课堂
ZlibEncoder
public ChannelFuture close(ChannelPromise promise)
ZlibEncoder
ZlibEncoder
并完成编码。
一旦操作完成,给定的ChannelFuture
将被通知,并且也将被返回。
close
在课堂
ZlibEncoder
public boolean isClosed()
ZlibEncoder
true
。
isClosed
在课堂上
ZlibEncoder
protected void encode(ChannelHandlerContext ctx, ByteBuf uncompressed, ByteBuf out) throws java.lang.Exception
MessageToByteEncoder
ByteBuf
。
这个方法将被编码器处理的每个书面信息调用。
encode
在课堂
MessageToByteEncoder<ByteBuf>
ctx
- 这MessageToByteEncoder
属于的ChannelHandlerContext
uncompressed
- 要编码的消息
out
- 将编写消息写入其中的ByteBuf
java.lang.Exception
- 发生错误时抛出
protected final ByteBuf allocateBuffer(ChannelHandlerContext ctx, ByteBuf msg, boolean preferDirect) throws java.lang.Exception
MessageToByteEncoder
ByteBuf
,其将被用作参数的#encode(ChannelHandlerContext, I, ByteBuf)
。
子类可以覆盖此方法返回ByteBuf
与完美匹配initialCapacity
。
allocateBuffer
在课堂
MessageToByteEncoder<ByteBuf>
java.lang.Exception
public void close(ChannelHandlerContext ctx, ChannelPromise promise) throws java.lang.Exception
ChannelOutboundHandlerAdapter
ChannelOutboundInvoker.close(ChannelPromise)
转发到ChannelOutboundHandler
中的下一个ChannelOutboundHandler
。
子类可以重写此方法来更改行为。
close
在界面
ChannelOutboundHandler
close
ChannelOutboundHandlerAdapter
ctx
- 关闭操作的ChannelHandlerContext
promise
- 在操作完成后通知ChannelPromise
java.lang.Exception
- 发生错误时抛出
public void handlerAdded(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelHandlerAdapter
handlerAdded
在界面
ChannelHandler
handlerAdded
在课堂上
ChannelHandlerAdapter
java.lang.Exception
Copyright © 2008–2018 The Netty Project. All rights reserved.