SniHandler Class — netty Architecture
Architecture documentation for the SniHandler class in SniHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1c08698d_6de3_27a1_92a5_6a4c169201cb["SniHandler"] 0ecca599_b137_5d29_50e3_0445d7da9ffc["SniHandler.java"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|defined in| 0ecca599_b137_5d29_50e3_0445d7da9ffc b85034c5_db85_9d44_a417_0a5e27381767["SniHandler()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| b85034c5_db85_9d44_a417_0a5e27381767 fe2c0b63_576a_2b40_02a8_56b949938f9e["String()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| fe2c0b63_576a_2b40_02a8_56b949938f9e b4a378e3_41dd_b94a_66a0_fef9d2116b9f["SslContext()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| b4a378e3_41dd_b94a_66a0_fef9d2116b9f 318ac842_9127_b2ae_db00_9164c3280b5d["lookup()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| 318ac842_9127_b2ae_db00_9164c3280b5d 89cae714_38ff_f2bb_6caf_33da4c9c86ff["onLookupComplete()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| 89cae714_38ff_f2bb_6caf_33da4c9c86ff 7a87e629_fa8a_5912_ac94_6fc5173193cc["replaceHandler()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| 7a87e629_fa8a_5912_ac94_6fc5173193cc 54ada12d_d3c7_7ad6_2e85_50d7465075a4["SslHandler()"] 1c08698d_6de3_27a1_92a5_6a4c169201cb -->|method| 54ada12d_d3c7_7ad6_2e85_50d7465075a4
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/SniHandler.java lines 37–234
public class SniHandler extends AbstractSniHandler<SslContext> {
private static final Selection EMPTY_SELECTION = new Selection(null, null);
protected final AsyncMapping<String, SslContext> mapping;
private volatile Selection selection = EMPTY_SELECTION;
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link Mapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
*/
public SniHandler(Mapping<? super String, ? extends SslContext> mapping) {
this(new AsyncMappingAdapter(mapping));
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link Mapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
* @param maxClientHelloLength the maximum length of the client hello message
* @param handshakeTimeoutMillis the handshake timeout in milliseconds
*/
public SniHandler(Mapping<? super String, ? extends SslContext> mapping,
int maxClientHelloLength, long handshakeTimeoutMillis) {
this(new AsyncMappingAdapter(mapping), maxClientHelloLength, handshakeTimeoutMillis);
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link DomainNameMapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
*/
public SniHandler(DomainNameMapping<? extends SslContext> mapping) {
this((Mapping<String, ? extends SslContext>) mapping);
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link AsyncMapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
*/
@SuppressWarnings("unchecked")
public SniHandler(AsyncMapping<? super String, ? extends SslContext> mapping) {
this(mapping, 0, 0L);
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link AsyncMapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
* @param maxClientHelloLength the maximum length of the client hello message
* @param handshakeTimeoutMillis the handshake timeout in milliseconds
*/
@SuppressWarnings("unchecked")
public SniHandler(AsyncMapping<? super String, ? extends SslContext> mapping,
int maxClientHelloLength, long handshakeTimeoutMillis) {
super(maxClientHelloLength, handshakeTimeoutMillis);
this.mapping = (AsyncMapping<String, SslContext>) ObjectUtil.checkNotNull(mapping, "mapping");
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link Mapping}
*
* @param mapping the mapping of domain name to {@link SslContext}
* @param handshakeTimeoutMillis the handshake timeout in milliseconds
*/
public SniHandler(Mapping<? super String, ? extends SslContext> mapping, long handshakeTimeoutMillis) {
this(new AsyncMappingAdapter(mapping), handshakeTimeoutMillis);
}
/**
* Creates a SNI detection handler with configured {@link SslContext}
* maintained by {@link AsyncMapping}
*
Source
Frequently Asked Questions
What is the SniHandler class?
SniHandler is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SniHandler.java.
Where is SniHandler defined?
SniHandler is defined in handler/src/main/java/io/netty/handler/ssl/SniHandler.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free