@UnstableApi public abstract class AbstractBinaryMemcacheDecoder<M extends BinaryMemcacheMessage> extends AbstractMemcacheObjectDecoder
BinaryMemcacheRequest
and BinaryMemcacheResponse
.
The difference in the protocols (header) is implemented by the subclasses.ByteToMessageDecoder.Cumulator
ChannelHandler.Sharable
限定符和类型 | 字段和说明 |
---|---|
static int |
DEFAULT_MAX_CHUNK_SIZE |
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
限定符 | 构造器和说明 |
---|---|
protected |
AbstractBinaryMemcacheDecoder()
Create a new
AbstractBinaryMemcacheDecoder with default settings. |
protected |
AbstractBinaryMemcacheDecoder(int chunkSize)
Create a new
AbstractBinaryMemcacheDecoder with custom settings. |
限定符和类型 | 方法和说明 |
---|---|
protected abstract M |
buildInvalidMessage()
Helper method to create a upstream message when the incoming parsing did fail.
|
void |
channelInactive(ChannelHandlerContext ctx)
When the channel goes inactive, release all frames to prevent data leaks.
|
protected void |
decode(ChannelHandlerContext ctx,
ByteBuf in,
java.util.List<java.lang.Object> out)
Decode the from one
ByteBuf to an other. |
protected abstract M |
decodeHeader(ByteBuf in)
Decode and return the parsed
BinaryMemcacheMessage . |
protected void |
resetDecoder()
Prepare for next decoding iteration.
|
actualReadableBytes, callDecode, 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
public static final int DEFAULT_MAX_CHUNK_SIZE
protected AbstractBinaryMemcacheDecoder()
AbstractBinaryMemcacheDecoder
with default settings.protected AbstractBinaryMemcacheDecoder(int chunkSize)
AbstractBinaryMemcacheDecoder
with custom settings.chunkSize
- the maximum chunk size of the payload.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
在类中 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 occurspublic void channelInactive(ChannelHandlerContext ctx) throws java.lang.Exception
channelInactive
在接口中 ChannelInboundHandler
channelInactive
在类中 ByteToMessageDecoder
ctx
- handler contextjava.lang.Exception
protected void resetDecoder()
protected abstract M decodeHeader(ByteBuf in)
BinaryMemcacheMessage
.in
- the incoming buffer.protected abstract M buildInvalidMessage()