Class PCEPSessionImpl

  • All Implemented Interfaces:
    io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, AutoCloseable, PCEPSession, PCEPSessionState

    public class PCEPSessionImpl
    extends io.netty.channel.SimpleChannelInboundHandler<Message>
    implements PCEPSession
    Implementation of PCEPSession. (Not final for testing.)
    • Method Detail

      • getKeepAliveTimerValue

        public final Integer getKeepAliveTimerValue()
      • getDeadTimerValue

        public final Integer getDeadTimerValue()
      • sendMessage

        public io.netty.util.concurrent.Future<Void> sendMessage​(Message msg)
        Sends message to serialization.
        Specified by:
        sendMessage in interface PCEPSession
        Parameters:
        msg - to be sent
        Returns:
        Future promise which will be succeed when the message is enqueued in the socket.
      • isClosed

        public boolean isClosed()
      • close

        public void close()
        Closes PCEP session without sending a Close message, as the channel is no longer active.
        Specified by:
        close in interface AutoCloseable
      • close

        public void close​(TerminationReason reason)
        Closes PCEP session, cancels all timers, returns to state Idle, sends the Close Message. KeepAlive and DeadTimer are cancelled if the state of the session changes to IDLE. This method is used to close the PCEP session from inside the session or from the listener, therefore the parent of this session should be informed.
        Specified by:
        close in interface PCEPSession
      • getRemoteTlvs

        public Tlvs getRemoteTlvs()
        Description copied from interface: PCEPSession
        Returns session characteristics of the remote PCEP Speaker.
        Specified by:
        getRemoteTlvs in interface PCEPSession
        Returns:
        Open message TLVs
      • handleMessage

        public void handleMessage​(Message msg)
        Handles incoming message. If the session is up, it notifies the user. The user is notified about every message except KeepAlive.
        Parameters:
        msg - incoming message
      • channelInactive

        public final void channelInactive​(io.netty.channel.ChannelHandlerContext ctx)
                                   throws Exception
        Specified by:
        channelInactive in interface io.netty.channel.ChannelInboundHandler
        Overrides:
        channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
        Throws:
        Exception
      • channelRead0

        protected final void channelRead0​(io.netty.channel.ChannelHandlerContext ctx,
                                          Message msg)
        Specified by:
        channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<Message>
      • handlerAdded

        public final void handlerAdded​(io.netty.channel.ChannelHandlerContext ctx)
        Specified by:
        handlerAdded in interface io.netty.channel.ChannelHandler
        Overrides:
        handlerAdded in class io.netty.channel.ChannelHandlerAdapter
      • 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
      • getLocalTlvs

        public Tlvs getLocalTlvs()
        Description copied from interface: PCEPSession
        Returns session characteristics of the local PCEP Speaker.
        Specified by:
        getLocalTlvs in interface PCEPSession
        Returns:
        Open message TLVs