AbstractHttp2ConnectionHandlerBuilder Class — netty Architecture
Architecture documentation for the AbstractHttp2ConnectionHandlerBuilder class in AbstractHttp2ConnectionHandlerBuilder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f6b4a99f_582b_edeb_b407_f81f8370c301["AbstractHttp2ConnectionHandlerBuilder"] ef2e29bf_4cb8_3cf8_391b_c9a4a708a3b1["AbstractHttp2ConnectionHandlerBuilder.java"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|defined in| ef2e29bf_4cb8_3cf8_391b_c9a4a708a3b1 05c7ad22_4e30_134d_2aca_03f9b423fe2a["Http2Settings()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 05c7ad22_4e30_134d_2aca_03f9b423fe2a 87f64823_b9b5_4bd3_067e_cba27a22acfa["B()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 87f64823_b9b5_4bd3_067e_cba27a22acfa af2cabf9_b81c_0546_8b5d_8f7425b85a66["Http2FrameListener()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| af2cabf9_b81c_0546_8b5d_8f7425b85a66 f0255446_a095_e4fc_9985_18efffb01081["gracefulShutdownTimeoutMillis()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| f0255446_a095_e4fc_9985_18efffb01081 42652f20_9676_6f3d_e9ea_eb364eb4e126["isServer()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 42652f20_9676_6f3d_e9ea_eb364eb4e126 392cc0ec_c488_0590_541a_58c060f3dcac["maxReservedStreams()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 392cc0ec_c488_0590_541a_58c060f3dcac eeceb048_e6a4_485b_f6d5_7e324caa3e0e["Http2Connection()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| eeceb048_e6a4_485b_f6d5_7e324caa3e0e 5e29638c_e3fd_16b4_7ced_7aff0f6dc9cb["Http2ConnectionDecoder()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 5e29638c_e3fd_16b4_7ced_7aff0f6dc9cb f0fd6cdf_3c12_c253_32bd_2e76b22f519e["Http2ConnectionEncoder()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| f0fd6cdf_3c12_c253_32bd_2e76b22f519e 4ba52802_7d9a_913d_d130_abad8186d269["isValidateHeaders()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| 4ba52802_7d9a_913d_d130_abad8186d269 b128cfbf_37aa_4bb7_9e4b_0d63e7391cd8["Http2FrameLogger()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| b128cfbf_37aa_4bb7_9e4b_0d63e7391cd8 d24d416d_c623_f94b_4b07_dca7e0bacc6b["encoderEnforceMaxConcurrentStreams()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| d24d416d_c623_f94b_4b07_dca7e0bacc6b c14ba41e_9239_2163_3fd9_4d4f05d77a47["encoderEnforceMaxQueuedControlFrames()"] f6b4a99f_582b_edeb_b407_f81f8370c301 -->|method| c14ba41e_9239_2163_3fd9_4d4f05d77a47
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2ConnectionHandlerBuilder.java lines 73–689
public abstract class AbstractHttp2ConnectionHandlerBuilder<T extends Http2ConnectionHandler,
B extends AbstractHttp2ConnectionHandlerBuilder<T, B>> {
private static final SensitivityDetector DEFAULT_HEADER_SENSITIVITY_DETECTOR = Http2HeadersEncoder.NEVER_SENSITIVE;
private static final int DEFAULT_MAX_RST_FRAMES_PER_CONNECTION_FOR_SERVER = 200;
// The properties that can always be set.
private Http2Settings initialSettings = Http2Settings.defaultSettings();
private Http2FrameListener frameListener;
private long gracefulShutdownTimeoutMillis = Http2CodecUtil.DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT_MILLIS;
private boolean decoupleCloseAndGoAway;
private boolean flushPreface = true;
// The property that will prohibit connection() and codec() if set by server(),
// because this property is used only when this builder creates an Http2Connection.
private Boolean isServer;
private Integer maxReservedStreams;
// The property that will prohibit server() and codec() if set by connection().
private Http2Connection connection;
// The properties that will prohibit server() and connection() if set by codec().
private Http2ConnectionDecoder decoder;
private Http2ConnectionEncoder encoder;
// The properties that are:
// * mutually exclusive against codec() and
// * OK to use with server() and connection()
private Boolean validateHeaders;
private Http2FrameLogger frameLogger;
private SensitivityDetector headerSensitivityDetector;
private Boolean encoderEnforceMaxConcurrentStreams;
private Boolean encoderIgnoreMaxHeaderListSize;
private Http2PromisedRequestVerifier promisedRequestVerifier = ALWAYS_VERIFY;
private boolean autoAckSettingsFrame = true;
private boolean autoAckPingFrame = true;
private int maxQueuedControlFrames = Http2CodecUtil.DEFAULT_MAX_QUEUED_CONTROL_FRAMES;
private int maxConsecutiveEmptyFrames = 2;
private Integer maxDecodedRstFramesPerWindow;
private int maxDecodedRstFramesSecondsPerWindow = 30;
private Integer maxEncodedRstFramesPerWindow;
private int maxEncodedRstFramesSecondsPerWindow = 30;
/**
* Sets the {@link Http2Settings} to use for the initial connection settings exchange.
*/
protected Http2Settings initialSettings() {
return initialSettings;
}
/**
* Sets the {@link Http2Settings} to use for the initial connection settings exchange.
*/
protected B initialSettings(Http2Settings settings) {
initialSettings = checkNotNull(settings, "settings");
return self();
}
/**
* Returns the listener of inbound frames.
*
* @return {@link Http2FrameListener} if set, or {@code null} if not set.
*/
protected Http2FrameListener frameListener() {
return frameListener;
}
/**
* Sets the listener of inbound frames.
* This listener will only be set if the decoder's listener is {@code null}.
*/
protected B frameListener(Http2FrameListener frameListener) {
this.frameListener = checkNotNull(frameListener, "frameListener");
return self();
}
/**
* Returns the graceful shutdown timeout of the {@link Http2Connection} in milliseconds. Returns -1 if the
* timeout is indefinite.
*/
protected long gracefulShutdownTimeoutMillis() {
Defined In
Source
Frequently Asked Questions
What is the AbstractHttp2ConnectionHandlerBuilder class?
AbstractHttp2ConnectionHandlerBuilder is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2ConnectionHandlerBuilder.java.
Where is AbstractHttp2ConnectionHandlerBuilder defined?
AbstractHttp2ConnectionHandlerBuilder is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2ConnectionHandlerBuilder.java at line 73.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free