public class FastLzFrameDecoder extends ByteToMessageDecoder
Modifier and Type | Class and Description |
---|---|
private static class |
FastLzFrameDecoder.State
Current state of decompression.
|
ByteToMessageDecoder.Cumulator
ChannelHandler.Sharable
Modifier and Type | Field and Description |
---|---|
private java.util.zip.Checksum |
checksum
Underlying checksum calculator in use.
|
private int |
chunkLength
Length of current received chunk of data.
|
private int |
currentChecksum
Checksum value of current received chunk of data which has checksum.
|
private FastLzFrameDecoder.State |
currentState |
private boolean |
hasChecksum
Indicates is this chunk has checksum or not.
|
private boolean |
isCompressed
Indicates is this chunk compressed or not.
|
private int |
originalLength
Original of current received chunk of data.
|
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
Constructor and Description |
---|
FastLzFrameDecoder()
Creates the fastest FastLZ decoder without checksum calculation.
|
FastLzFrameDecoder(boolean validateChecksums)
Creates a FastLZ decoder with calculation of checksums as specified.
|
FastLzFrameDecoder(java.util.zip.Checksum checksum)
Creates a FastLZ decoder with specified checksum calculator.
|
Modifier and Type | Method and Description |
---|---|
protected void |
decode(ChannelHandlerContext ctx,
ByteBuf in,
java.util.List<java.lang.Object> out)
Decode the from one
ByteBuf to an other. |
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
ensureNotSharable, handlerAdded, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handlerAdded
private FastLzFrameDecoder.State currentState
private final java.util.zip.Checksum checksum
private int chunkLength
private int originalLength
chunkLength
for non compressed chunks.private boolean isCompressed
private boolean hasChecksum
private int currentChecksum
public FastLzFrameDecoder()
public FastLzFrameDecoder(boolean validateChecksums)
validateChecksums
- If true, the checksum field will be validated against the actual
uncompressed data, and if the checksums do not match, a suitable
DecompressionException
will be thrown.
Note, that in this case decoder will use Adler32
as a default checksum calculator.public FastLzFrameDecoder(java.util.zip.Checksum checksum)
checksum
- the Checksum
instance to use to check data for integrity.
You may set null
if you do not want to validate checksum of each block.protected void decode(ChannelHandlerContext ctx, ByteBuf in, java.util.List<java.lang.Object> out) throws java.lang.Exception
ByteToMessageDecoder
ByteBuf
to an other. This method will be called till either the input
ByteBuf
has nothing to read when return from this method or till nothing was read from the input
ByteBuf
.decode
in class ByteToMessageDecoder
ctx
- the ChannelHandlerContext
which this ByteToMessageDecoder
belongs toin
- the ByteBuf
from which to read dataout
- the List
to which decoded messages should be addedjava.lang.Exception
- is thrown if an error occurs