Class MemcachedDecoder

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.ByteToMessageDecoder
io.netty.handler.codec.ReplayingDecoder<MemcachedDecoderState>
org.infinispan.server.memcached.MemcachedDecoder
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

public class MemcachedDecoder extends io.netty.handler.codec.ReplayingDecoder<MemcachedDecoderState>
A Memcached protocol specific decoder
Since:
4.1
Author:
Galder ZamarreƱo
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder

    io.netty.handler.codec.ByteToMessageDecoder.Cumulator

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Configuration
     
    protected org.infinispan.server.memcached.RequestHeader
     
    protected final Predicate<? super String>
     
    protected byte[]
     
    protected org.infinispan.server.memcached.MemcachedParameters
     
    protected byte[]
     
    static final int
     
    protected final NettyTransport
     

    Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

    COMPOSITE_CUMULATOR, MERGE_CUMULATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
    MemcachedDecoder(AdvancedCache<byte[],byte[]> memcachedCache, ScheduledExecutorService scheduler, NettyTransport transport, Predicate<? super String> ignoreCache, MediaType valuePayload)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    customDecodeKey(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)
     
    protected void
    customDecodeValue(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)
     
    protected void
    decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)
     
    void
    exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
     
    protected void
    get(io.netty.buffer.ByteBuf buffer, io.netty.channel.Channel ch)
     
    protected void
    remove(io.netty.channel.Channel ch)
     
    protected void
    replace(io.netty.channel.Channel ch)
     
    protected void
    replaceIfUnmodified(io.netty.channel.Channel ch)
     
    protected void
    writeResponseOrThrowable(io.netty.channel.Channel ch, Object response, Throwable throwable)
     

    Methods inherited from class io.netty.handler.codec.ReplayingDecoder

    callDecode, checkpoint, checkpoint, state, state

    Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

    actualReadableBytes, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerAdded
  • Field Details

    • transport

      protected final NettyTransport transport
    • ignoreCache

      protected final Predicate<? super String> ignoreCache
    • SecondsInAMonth

      public static final int SecondsInAMonth
      See Also:
    • key

      protected byte[] key
    • rawValue

      protected byte[] rawValue
    • cacheConfiguration

      protected Configuration cacheConfiguration
    • params

      protected org.infinispan.server.memcached.MemcachedParameters params
  • Constructor Details

  • Method Details

    • decode

      protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out) throws Exception
      Specified by:
      decode in class io.netty.handler.codec.ByteToMessageDecoder
      Throws:
      Exception
    • replace

      protected void replace(io.netty.channel.Channel ch)
    • replaceIfUnmodified

      protected void replaceIfUnmodified(io.netty.channel.Channel ch)
    • remove

      protected void remove(io.netty.channel.Channel ch)
    • get

      protected void get(io.netty.buffer.ByteBuf buffer, io.netty.channel.Channel ch) throws StreamCorruptedException
      Throws:
      StreamCorruptedException
    • exceptionCaught

      public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
      Specified by:
      exceptionCaught in interface io.netty.channel.ChannelHandler
      Specified by:
      exceptionCaught in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      exceptionCaught in class io.netty.channel.ChannelInboundHandlerAdapter
    • customDecodeKey

      protected void customDecodeKey(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer) throws IOException
      Throws:
      IOException
    • customDecodeValue

      protected void customDecodeValue(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)
    • writeResponseOrThrowable

      protected void writeResponseOrThrowable(io.netty.channel.Channel ch, Object response, Throwable throwable)