Class OptionalSslHandler

  • All Implemented Interfaces:
    io.netty5.channel.ChannelHandler

    public class OptionalSslHandler
    extends io.netty5.handler.codec.ByteToMessageDecoder
    OptionalSslHandler is a utility decoder to support both SSL and non-SSL handlers based on the first message received.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.netty5.handler.codec.ByteToMessageDecoder

        io.netty5.handler.codec.ByteToMessageDecoder.Cumulator
    • Field Summary

      • Fields inherited from class io.netty5.handler.codec.ByteToMessageDecoder

        COMPOSITE_CUMULATOR, MERGE_CUMULATOR
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void decode​(io.netty5.channel.ChannelHandlerContext context, io.netty5.buffer.api.Buffer in)  
      protected io.netty5.channel.ChannelHandler newNonSslHandler​(io.netty5.channel.ChannelHandlerContext context)
      Override to configure the ChannelHandler.
      protected String newNonSslHandlerName()
      Optionally specify the non-SSL handler name, this method may return null.
      protected SslHandler newSslHandler​(io.netty5.channel.ChannelHandlerContext context, SslContext sslContext)
      Override to configure the SslHandler eg.
      protected String newSslHandlerName()
      Optionally specify the SSL handler name, this method may return null.
      • Methods inherited from class io.netty5.handler.codec.ByteToMessageDecoder

        actualReadableBytes, channelInactive, channelRead, channelReadComplete, channelShutdown, decodeLast, discardSomeReadBytes, handlerAdded, handlerAdded0, handlerRemoved, handlerRemoved0, internalBuffer, isSharable, isSingleDecode, setSingleDecode
      • Methods inherited from interface io.netty5.channel.ChannelHandler

        bind, channelActive, channelExceptionCaught, channelInboundEvent, channelRegistered, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, flush, pendingOutboundBytes, read, register, sendOutboundEvent, shutdown, write
    • Constructor Detail

      • OptionalSslHandler

        public OptionalSslHandler​(SslContext sslContext)
    • Method Detail

      • decode

        protected void decode​(io.netty5.channel.ChannelHandlerContext context,
                              io.netty5.buffer.api.Buffer in)
                       throws Exception
        Specified by:
        decode in class io.netty5.handler.codec.ByteToMessageDecoder
        Throws:
        Exception
      • newSslHandlerName

        protected String newSslHandlerName()
        Optionally specify the SSL handler name, this method may return null.
        Returns:
        the name of the SSL handler.
      • newNonSslHandlerName

        protected String newNonSslHandlerName()
        Optionally specify the non-SSL handler name, this method may return null.
        Returns:
        the name of the non-SSL handler.
      • newNonSslHandler

        protected io.netty5.channel.ChannelHandler newNonSslHandler​(io.netty5.channel.ChannelHandlerContext context)
        Override to configure the ChannelHandler.
        Parameters:
        context - the ChannelHandlerContext to use.
        Returns:
        the ChannelHandler which will replace the OptionalSslHandler in the pipeline or null to simply remove the OptionalSslHandler if the traffic is non-SSL.