Class TsiFrameHandler

  • All Implemented Interfaces:
    io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler

    public final class TsiFrameHandler
    extends io.netty.handler.codec.ByteToMessageDecoder
    implements io.netty.channel.ChannelOutboundHandler
    Encrypts and decrypts TSI Frames. Writes are buffered here until flush(io.netty.channel.ChannelHandlerContext) is called. Writes must not be made before the TSI handshake is complete.
    • 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
      private boolean closeInitiated  
      private static java.util.logging.Logger logger  
      private io.netty.channel.PendingWriteQueue pendingUnprotectedWrites  
      private TsiFrameProtector protector  
      • Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

        COMPOSITE_CUMULATOR, MERGE_CUMULATOR
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void bind​(io.netty.channel.ChannelHandlerContext ctx, java.net.SocketAddress localAddress, io.netty.channel.ChannelPromise promise)  
      void close​(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)  
      void connect​(io.netty.channel.ChannelHandlerContext ctx, java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress, io.netty.channel.ChannelPromise promise)  
      protected void decode​(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, java.util.List<java.lang.Object> out)  
      void deregister​(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)  
      private void destroyProtectorAndWrites()  
      void disconnect​(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)  
      private void doClose​(io.netty.channel.ChannelHandlerContext ctx)  
      void flush​(io.netty.channel.ChannelHandlerContext ctx)  
      void handlerAdded​(io.netty.channel.ChannelHandlerContext ctx)  
      void handlerRemoved0​(io.netty.channel.ChannelHandlerContext ctx)  
      void read​(io.netty.channel.ChannelHandlerContext ctx)  
      void write​(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object message, io.netty.channel.ChannelPromise promise)  
      • Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

        actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
      • Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

        channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
      • Methods inherited from class io.netty.channel.ChannelHandlerAdapter

        ensureNotSharable, 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

        handlerRemoved
    • Field Detail

      • logger

        private static final java.util.logging.Logger logger
      • pendingUnprotectedWrites

        private io.netty.channel.PendingWriteQueue pendingUnprotectedWrites
      • closeInitiated

        private boolean closeInitiated
    • Method Detail

      • handlerAdded

        public void handlerAdded​(io.netty.channel.ChannelHandlerContext ctx)
                          throws java.lang.Exception
        Specified by:
        handlerAdded in interface io.netty.channel.ChannelHandler
        Overrides:
        handlerAdded in class io.netty.channel.ChannelHandlerAdapter
        Throws:
        java.lang.Exception
      • decode

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

        public void write​(io.netty.channel.ChannelHandlerContext ctx,
                          java.lang.Object message,
                          io.netty.channel.ChannelPromise promise)
        Specified by:
        write in interface io.netty.channel.ChannelOutboundHandler
      • handlerRemoved0

        public void handlerRemoved0​(io.netty.channel.ChannelHandlerContext ctx)
                             throws java.lang.Exception
        Overrides:
        handlerRemoved0 in class io.netty.handler.codec.ByteToMessageDecoder
        Throws:
        java.lang.Exception
      • disconnect

        public void disconnect​(io.netty.channel.ChannelHandlerContext ctx,
                               io.netty.channel.ChannelPromise promise)
        Specified by:
        disconnect in interface io.netty.channel.ChannelOutboundHandler
      • close

        public void close​(io.netty.channel.ChannelHandlerContext ctx,
                          io.netty.channel.ChannelPromise promise)
        Specified by:
        close in interface io.netty.channel.ChannelOutboundHandler
      • doClose

        private void doClose​(io.netty.channel.ChannelHandlerContext ctx)
      • flush

        public void flush​(io.netty.channel.ChannelHandlerContext ctx)
                   throws java.security.GeneralSecurityException
        Specified by:
        flush in interface io.netty.channel.ChannelOutboundHandler
        Throws:
        java.security.GeneralSecurityException
      • bind

        public void bind​(io.netty.channel.ChannelHandlerContext ctx,
                         java.net.SocketAddress localAddress,
                         io.netty.channel.ChannelPromise promise)
        Specified by:
        bind in interface io.netty.channel.ChannelOutboundHandler
      • connect

        public void connect​(io.netty.channel.ChannelHandlerContext ctx,
                            java.net.SocketAddress remoteAddress,
                            java.net.SocketAddress localAddress,
                            io.netty.channel.ChannelPromise promise)
        Specified by:
        connect in interface io.netty.channel.ChannelOutboundHandler
      • deregister

        public void deregister​(io.netty.channel.ChannelHandlerContext ctx,
                               io.netty.channel.ChannelPromise promise)
        Specified by:
        deregister in interface io.netty.channel.ChannelOutboundHandler
      • read

        public void read​(io.netty.channel.ChannelHandlerContext ctx)
        Specified by:
        read in interface io.netty.channel.ChannelOutboundHandler
      • destroyProtectorAndWrites

        private void destroyProtectorAndWrites()