Class NettyConnectionHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<String>
org.jivesoftware.openfire.nio.NettyConnectionHandler
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler
Direct Known Subclasses:
NettyClientConnectionHandler, NettyComponentConnectionHandler, NettyMultiplexerConnectionHandler, NettyOutboundConnectionHandler, NettyServerConnectionHandler

public abstract class NettyConnectionHandler extends io.netty.channel.SimpleChannelInboundHandler<String>
A NettyConnectionHandler is responsible for creating new sessions, destroying sessions and delivering received XML stanzas to the proper StanzaHandler.

Subclasses of this will supply a specific StanzaHandler implementation depending on the type of connection to be handled, e.g. C2S, S2S.

Author:
Matthew Vivian, Alex Gidman
  • Field Details

    • CONNECTION

      public static final io.netty.util.AttributeKey<NettyConnection> CONNECTION
    • READ_BYTES

      public static final io.netty.util.AttributeKey<Long> READ_BYTES
    • WRITTEN_BYTES

      public static final io.netty.util.AttributeKey<Long> WRITTEN_BYTES
    • IDLE_FLAG

      public static final io.netty.util.AttributeKey<Boolean> IDLE_FLAG
    • PARSER_CACHE

      protected static final ThreadLocal<XMPPPacketReader> PARSER_CACHE
    • sslInitDone

      protected boolean sslInitDone
    • configuration

      protected final ConnectionConfiguration configuration
      The configuration for new connections.
  • Constructor Details

  • Method Details

    • getMaxIdleTime

      public abstract Duration getMaxIdleTime()
      Returns the time that a connection can be idle before being closed.
      Returns:
      the time a connection can be idle.
    • handlerAdded

      public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      handlerAdded in interface io.netty.channel.ChannelHandler
      Overrides:
      handlerAdded in class io.netty.channel.ChannelHandlerAdapter
    • handlerRemoved

      public void handlerRemoved(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      handlerRemoved in interface io.netty.channel.ChannelHandler
      Overrides:
      handlerRemoved in class io.netty.channel.ChannelHandlerAdapter
    • channelRead0

      public void channelRead0(io.netty.channel.ChannelHandlerContext ctx, String message)
      Specified by:
      channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<String>
    • 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
    • channelUnregistered

      public void channelUnregistered(io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      channelUnregistered in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelUnregistered in class io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • userEventTriggered

      public void userEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt) throws Exception
      Specified by:
      userEventTriggered in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      userEventTriggered in class io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • toString

      public String toString()
      Overrides:
      toString in class Object