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
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_CHUNK_SIZE |
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
Modifier | Constructor and Description |
---|---|
protected |
AbstractBinaryMemcacheDecoder()
Create a new
AbstractBinaryMemcacheDecoder with default settings. |
protected |
AbstractBinaryMemcacheDecoder(int chunkSize)
Create a new
AbstractBinaryMemcacheDecoder with custom settings. |
Modifier and Type | Method and Description |
---|---|
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,
List<Object> out) |
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, List<Object> out) throws Exception
decode
in class ByteToMessageDecoder
Exception
public void channelInactive(ChannelHandlerContext ctx) throws Exception
channelInactive
in interface ChannelInboundHandler
channelInactive
in class ByteToMessageDecoder
ctx
- handler contextException
- if something goes wrong during channel inactive notification.protected void resetDecoder()
protected abstract M decodeHeader(ByteBuf in)
BinaryMemcacheMessage
.in
- the incoming buffer.protected abstract M buildInvalidMessage()
Copyright © 2021 Couchbase, Inc.. All rights reserved.