public final class SNIHandler : ByteToMessageDecoder

A channel handler that can be used to arbitrarily edit a channel pipeline based on the hostname requested in the Server Name Indication portion of the TLS Client Hello.

This handler is most commonly used when configuring TLS, to control which certificates are going to be shown to the client. It can also be used to ensure that only the resources required to serve a given virtual host are actually present in the channel pipeline.

This handler does not depend on any specific TLS implementation. Instead, it parses the Client Hello itself, directly. This allows it to be generic across all possible TLS backends that can be used with NIO. It also allows for the pipeline change to be done asynchronously, providing more flexibility about how the user configures the pipeline.