public class LzfDecoder extends ByteToMessageDecoder
ByteBuf encoded with the LZF format.
See original LZF package
and LZF format for full description.| Modifier and Type | Class and Description |
|---|---|
private static class |
LzfDecoder.State
Current state of decompression.
|
ByteToMessageDecoder.CumulatorChannelHandler.Sharable| Modifier and Type | Field and Description |
|---|---|
private int |
chunkLength
Length of current received chunk of data.
|
private LzfDecoder.State |
currentState |
private com.ning.compress.lzf.ChunkDecoder |
decoder
Underlying decoder in use.
|
private boolean |
isCompressed
Indicates is this chunk compressed or not.
|
private static short |
MAGIC_NUMBER
Magic number of LZF chunk.
|
private int |
originalLength
Original length of current received chunk of data.
|
private com.ning.compress.BufferRecycler |
recycler
Object that handles details of buffer recycling.
|
COMPOSITE_CUMULATOR, MERGE_CUMULATOR| Constructor and Description |
|---|
LzfDecoder()
Creates a new LZF decoder with the most optimal available methods for underlying data access.
|
LzfDecoder(boolean safeInstance)
Creates a new LZF decoder with specified decoding instance.
|
| 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, userEventTriggeredchannelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtensureNotSharable, handlerAdded, isSharableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandlerAddedprivate LzfDecoder.State currentState
private static final short MAGIC_NUMBER
private com.ning.compress.lzf.ChunkDecoder decoder
private com.ning.compress.BufferRecycler recycler
private int chunkLength
private int originalLength
chunkLength for non compressed chunks.private boolean isCompressed
public LzfDecoder()
LzfDecoder(boolean) with true param.public LzfDecoder(boolean safeInstance)
safeInstance - If true decoder will use ChunkDecoder that only uses standard JDK access methods,
and should work on all Java platforms and JVMs.
Otherwise decoder will try to use highly optimized ChunkDecoder implementation that uses
Sun JDK's Unsafe class (which may be included by other JDK's as well).protected void decode(ChannelHandlerContext ctx, ByteBuf in, java.util.List<java.lang.Object> out) throws java.lang.Exception
ByteToMessageDecoderByteBuf 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 ByteToMessageDecoderctx - 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