public class FastLzFrameEncoder extends MessageToByteEncoder<ByteBuf>
ByteBuf
使用FastLZ算法。
见FastLZ format 。
ChannelHandler.Sharable
Constructor and Description |
---|
FastLzFrameEncoder()
创建不带校验和计算器并自动检测压缩级别的FastLZ编码器。
|
FastLzFrameEncoder(boolean validateChecksums)
创建FastLZ编码器,自动检测压缩级别并根据指定计算校验和。
|
FastLzFrameEncoder(int level)
创建一个具有指定压缩级别并且没有校验和计算器的FastLZ编码器。
|
FastLzFrameEncoder(int level, java.util.zip.Checksum checksum)
创建具有指定压缩级别和校验和计算器的FastLZ编码器。
|
Modifier and Type | Method and Description |
---|---|
protected void |
encode(ChannelHandlerContext ctx, ByteBuf in, ByteBuf out)
将消息编码成 ByteBuf 。
|
acceptOutboundMessage, allocateBuffer, isPreferDirect, write
bind, close, connect, deregister, disconnect, flush, read
ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
exceptionCaught, handlerAdded, handlerRemoved
public FastLzFrameEncoder()
public FastLzFrameEncoder(int level)
level
- 仅支持这些值:0 - 编码器将根据输入缓冲区的长度自动选择级别。
1 - 1级是最快的压缩方式,通常用于短数据。
2 - 2级稍慢,但压缩比更高。
public FastLzFrameEncoder(boolean validateChecksums)
validateChecksums
- 如果为true,则将计算每个块的校验和,并将该值添加到块的头部。
默认情况下, FastLzFrameEncoder
使用Adler32
进行校验和计算。
public FastLzFrameEncoder(int level, java.util.zip.Checksum checksum)
level
- 仅支持这些值:0 - 编码器将根据输入缓冲区的长度自动选择级别。
1 - 1级是最快的压缩方式,通常用于短数据。
2 - 2级稍慢,但压缩比更高。
checksum
- 用于检查数据完整性的Checksum
实例。
如果您不想验证每个块的校验和,则可以设置null
。
protected void encode(ChannelHandlerContext ctx, ByteBuf in, ByteBuf out) throws java.lang.Exception
MessageToByteEncoder
ByteBuf
。
这个方法将被编码器处理的每个书面信息调用。
encode
MessageToByteEncoder<ByteBuf>
ctx
- 这MessageToByteEncoder
所属的ChannelHandlerContext
in
- 要编码的消息
out
- 将写入编码消息的ByteBuf
java.lang.Exception
- 发生错误时抛出
Copyright © 2008–2018 The Netty Project. All rights reserved.