Class BasicCachingHandler<IN extends RequestCtx,​OUT extends ResponseCtx>

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
io.netty.handler.codec.MessageToMessageCodec<IN,​OUT>
org.tinyradius.server.handler.BasicCachingHandler<IN,​OUT>
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler

public class BasicCachingHandler<IN extends RequestCtx,​OUT extends ResponseCtx>
extends io.netty.handler.codec.MessageToMessageCodec<IN,​OUT>
  • Nested Class Summary

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

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

    Constructors 
    Constructor Description
    BasicCachingHandler​(io.netty.util.Timer timer, int ttlMs, java.lang.Class<IN> inboundClass, java.lang.Class<OUT> outboundClass)  
  • Method Summary

    Modifier and Type Method Description
    protected void decode​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, java.util.List<java.lang.Object> out)  
    protected void encode​(io.netty.channel.ChannelHandlerContext ctx, OUT msg, java.util.List<java.lang.Object> out)  
    protected void onHit​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, OUT responseCtx, java.util.List<java.lang.Object> out)  
    protected void onMiss​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, java.util.List<java.lang.Object> out)  

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

    acceptInboundMessage, acceptOutboundMessage, channelRead, write

    Methods inherited from class io.netty.channel.ChannelDuplexHandler

    bind, close, connect, deregister, disconnect, flush, read

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, handlerRemoved, 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, handlerRemoved
  • Constructor Details

    • BasicCachingHandler

      public BasicCachingHandler​(io.netty.util.Timer timer, int ttlMs, java.lang.Class<IN> inboundClass, java.lang.Class<OUT> outboundClass)
      Parameters:
      timer - for cache eviction
      ttlMs - time for items to stay cached after being returned, in milliseconds
      inboundClass - explicit class due to type erasure
      outboundClass - explicit class due to type erasure
  • Method Details

    • onMiss

      protected void onMiss​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, java.util.List<java.lang.Object> out)
      Parameters:
      ctx - ChannelHandlerContext
      requestCtx - inbound request context
      out - list to which decoded messages should be added
    • onHit

      protected void onHit​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, OUT responseCtx, java.util.List<java.lang.Object> out)
      Parameters:
      ctx - ChannelHandlerContext
      requestCtx - inbound request context
      responseCtx - outbound response context
      out - list to which decoded messages should be added
    • decode

      protected void decode​(io.netty.channel.ChannelHandlerContext ctx, IN requestCtx, java.util.List<java.lang.Object> out)
      Specified by:
      decode in class io.netty.handler.codec.MessageToMessageCodec<IN extends RequestCtx,​OUT extends ResponseCtx>
    • encode

      protected void encode​(io.netty.channel.ChannelHandlerContext ctx, OUT msg, java.util.List<java.lang.Object> out)
      Specified by:
      encode in class io.netty.handler.codec.MessageToMessageCodec<IN extends RequestCtx,​OUT extends ResponseCtx>