Class HandlerAdapter<T extends RadiusPacket>

  • Type Parameters:
    T - RadiusPacket types that this Channel can accept
    All Implemented Interfaces:
    io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler
    Direct Known Subclasses:
    ProxyHandlerAdapter

    public class HandlerAdapter<T extends RadiusPacket>
    extends io.netty.channel.SimpleChannelInboundHandler<io.netty.channel.socket.DatagramPacket>
    SimpleChannelInboundHandler implementation that converts between RadiusPackets and DatagramPackets. Acts as an adapter so RequestHandlers dont have to be concerned with Datagrams.
    • Nested Class Summary

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

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void channelRead0​(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.socket.DatagramPacket datagramPacket)  
      • Methods inherited from class io.netty.channel.SimpleChannelInboundHandler

        acceptInboundMessage, channelRead
      • 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 Detail

      • HandlerAdapter

        public HandlerAdapter​(Dictionary dictionary,
                              RequestHandler<T> requestHandler,
                              io.netty.util.Timer timer,
                              SecretProvider secretProvider,
                              java.lang.Class<T> packetClass)
        Parameters:
        dictionary - for encoding/decoding RadiusPackets
        requestHandler - handle requests
        timer - handle timeouts if requests take too long to be processed
        secretProvider - lookup sharedSecret given remote address
        packetClass - restrict RadiusPacket subtypes that can be processed by handler, otherwise will be dropped. If all types of RadiusPackets are allowed, use RadiusPacket
    • Method Detail

      • channelRead0

        public void channelRead0​(io.netty.channel.ChannelHandlerContext ctx,
                                 io.netty.channel.socket.DatagramPacket datagramPacket)
        Specified by:
        channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<io.netty.channel.socket.DatagramPacket>