Class AbstractBinaryMemcacheDecoder<M extends BinaryMemcacheMessage>
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.memcache.AbstractMemcacheObjectDecoder
-
- io.netty.handler.codec.memcache.binary.AbstractBinaryMemcacheDecoder<M>
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
- Direct Known Subclasses:
BinaryMemcacheRequestDecoder,BinaryMemcacheResponseDecoder
@UnstableApi public abstract class AbstractBinaryMemcacheDecoder<M extends BinaryMemcacheMessage> extends AbstractMemcacheObjectDecoder
Decoder for bothBinaryMemcacheRequestandBinaryMemcacheResponse. The difference in the protocols (header) is implemented by the subclasses.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAX_CHUNK_SIZE
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractBinaryMemcacheDecoder()Create a newAbstractBinaryMemcacheDecoderwith default settings.protectedAbstractBinaryMemcacheDecoder(int chunkSize)Create a newAbstractBinaryMemcacheDecoderwith custom settings.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract MbuildInvalidMessage()Helper method to create a upstream message when the incoming parsing did fail.voidchannelInactive(io.netty.channel.ChannelHandlerContext ctx)When the channel goes inactive, release all frames to prevent data leaks.protected voiddecode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)protected abstract MdecodeHeader(io.netty.buffer.ByteBuf in)Decode and return the parsedBinaryMemcacheMessage.protected voidresetDecoder()Prepare for next decoding iteration.-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharable
-
-
-
-
Field Detail
-
DEFAULT_MAX_CHUNK_SIZE
public static final int DEFAULT_MAX_CHUNK_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractBinaryMemcacheDecoder
protected AbstractBinaryMemcacheDecoder()
Create a newAbstractBinaryMemcacheDecoderwith default settings.
-
AbstractBinaryMemcacheDecoder
protected AbstractBinaryMemcacheDecoder(int chunkSize)
Create a newAbstractBinaryMemcacheDecoderwith custom settings.- Parameters:
chunkSize- the maximum chunk size of the payload.
-
-
Method Detail
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out) throws Exception- Specified by:
decodein classio.netty.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
channelInactive
public void channelInactive(io.netty.channel.ChannelHandlerContext ctx) throws ExceptionWhen the channel goes inactive, release all frames to prevent data leaks.- Specified by:
channelInactivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelInactivein classio.netty.handler.codec.ByteToMessageDecoder- Parameters:
ctx- handler context- Throws:
Exception
-
resetDecoder
protected void resetDecoder()
Prepare for next decoding iteration.
-
decodeHeader
protected abstract M decodeHeader(io.netty.buffer.ByteBuf in)
Decode and return the parsedBinaryMemcacheMessage.- Parameters:
in- the incoming buffer.- Returns:
- the decoded header.
-
buildInvalidMessage
protected abstract M buildInvalidMessage()
Helper method to create a upstream message when the incoming parsing did fail.- Returns:
- a message indicating a decoding failure.
-
-