- java.lang.Object
-
- io.netty5.channel.ChannelHandlerAdapter
-
- io.netty5.handler.codec.ByteToMessageDecoder
-
- io.netty5.handler.ssl.SslClientHelloHandler<T>
-
- All Implemented Interfaces:
io.netty5.channel.ChannelHandler
- Direct Known Subclasses:
AbstractSniHandler
public abstract class SslClientHelloHandler<T> extends io.netty5.handler.codec.ByteToMessageDecoderByteToMessageDecoderwhich allows to be notified once a fullClientHellowas received.
-
-
Constructor Summary
Constructors Constructor Description SslClientHelloHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voiddecode(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.buffer.Buffer in)protected voidhandlerRemoved0(io.netty5.channel.ChannelHandlerContext ctx)protected abstract io.netty5.util.concurrent.Future<T>lookup(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.buffer.Buffer clientHello)Kicks off a lookup for the givenClientHelloand returns aFuturewhich in turn will notify theonLookupComplete(ChannelHandlerContext, Future)on completion.protected abstract voidonLookupComplete(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.util.concurrent.Future<? extends T> future)Called upon completion of thelookup(ChannelHandlerContext, Buffer)Future.voidread(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.channel.ReadBufferAllocator readBufferAllocator)-
Methods inherited from class io.netty5.handler.codec.ByteToMessageDecoder
actualReadableBytes, channelInactive, channelRead, channelReadComplete, channelShutdown, decodeLast, discardSomeReadBytes, handlerAdded, handlerAdded0, handlerRemoved, internalBuffer, isSharable, isSingleDecode, setSingleDecode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty5.channel.ChannelHandler
bind, channelActive, channelExceptionCaught, channelInboundEvent, channelRegistered, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, flush, pendingOutboundBytes, register, sendOutboundEvent, shutdown, write
-
-
-
-
Method Detail
-
decode
protected void decode(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.buffer.Buffer in) throws Exception- Specified by:
decodein classio.netty5.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
handlerRemoved0
protected void handlerRemoved0(io.netty5.channel.ChannelHandlerContext ctx) throws Exception- Overrides:
handlerRemoved0in classio.netty5.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
lookup
protected abstract io.netty5.util.concurrent.Future<T> lookup(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.buffer.Buffer clientHello) throws Exception
Kicks off a lookup for the givenClientHelloand returns aFuturewhich in turn will notify theonLookupComplete(ChannelHandlerContext, Future)on completion. See https://tools.ietf.org/html/rfc5246#section-7.4.1.2struct { ProtocolVersion client_version; Random random; SessionID session_id; CipherSuite cipher_suites<2..2^16-2>; CompressionMethod compression_methods<1..2^8-1>; select (extensions_present) { case false: struct {}; case true: Extension extensions<0..2^16-1>; }; } ClientHello;- Throws:
Exception- See Also:
onLookupComplete(ChannelHandlerContext, Future)
-
onLookupComplete
protected abstract void onLookupComplete(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.util.concurrent.Future<? extends T> future) throws ExceptionCalled upon completion of thelookup(ChannelHandlerContext, Buffer)Future.- Throws:
Exception- See Also:
lookup(ChannelHandlerContext, Buffer)
-
read
public void read(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.channel.ReadBufferAllocator readBufferAllocator)
-
-