DefaultHttp2ConnectionDecoder Class — netty Architecture
Architecture documentation for the DefaultHttp2ConnectionDecoder class in DefaultHttp2ConnectionDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD b3fe26c0_8414_9998_6798_f8346e67f5e1["DefaultHttp2ConnectionDecoder"] a43ecbf7_4477_1770_e9bd_6bd36bd824e3["DefaultHttp2ConnectionDecoder.java"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|defined in| a43ecbf7_4477_1770_e9bd_6bd36bd824e3 4ab0329e_298f_9d11_7785_fa1411e84c17["DefaultHttp2ConnectionDecoder()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 4ab0329e_298f_9d11_7785_fa1411e84c17 e05f46f2_da47_22f9_b276_9ceca95059ee["lifecycleManager()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| e05f46f2_da47_22f9_b276_9ceca95059ee 0a77b8b9_94bd_0768_bc3b_4f58ae79da81["Http2Connection()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 0a77b8b9_94bd_0768_bc3b_4f58ae79da81 26763032_af2d_48cc_e060_d48771f71a25["Http2LocalFlowController()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 26763032_af2d_48cc_e060_d48771f71a25 4646d39c_3e91_4f26_b450_e12319f61610["frameListener()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 4646d39c_3e91_4f26_b450_e12319f61610 17ebae6e_7ffa_02ac_058b_5460d7532bf6["Http2FrameListener()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 17ebae6e_7ffa_02ac_058b_5460d7532bf6 913048a5_596a_cc05_af31_86bdc56cd729["prefaceReceived()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 913048a5_596a_cc05_af31_86bdc56cd729 412a4687_995a_9fbe_3d43_8a474f08bfea["decodeFrame()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 412a4687_995a_9fbe_3d43_8a474f08bfea 410fdca1_9d26_6c4b_11a1_893f0d4582ea["Http2Settings()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 410fdca1_9d26_6c4b_11a1_893f0d4582ea b528acf6_dd3d_2278_14f6_2fa44d2dc26a["close()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| b528acf6_dd3d_2278_14f6_2fa44d2dc26a 495162e3_2f1d_1166_c93c_76dc9e177571["calculateMaxHeaderListSizeGoAway()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 495162e3_2f1d_1166_c93c_76dc9e177571 5099d76e_2045_154d_ff39_253bfca400b1["unconsumedBytes()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| 5099d76e_2045_154d_ff39_253bfca400b1 c7a0a5cb_4d8d_fe4a_f939_852c50e52bed["onGoAwayRead0()"] b3fe26c0_8414_9998_6798_f8346e67f5e1 -->|method| c7a0a5cb_4d8d_fe4a_f939_852c50e52bed
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder.java lines 53–835
public class DefaultHttp2ConnectionDecoder implements Http2ConnectionDecoder {
private static final InternalLogger logger = InternalLoggerFactory.getInstance(DefaultHttp2ConnectionDecoder.class);
private Http2FrameListener internalFrameListener = new PrefaceFrameListener();
private final Http2Connection connection;
private Http2LifecycleManager lifecycleManager;
private final Http2ConnectionEncoder encoder;
private final Http2FrameReader frameReader;
private Http2FrameListener listener;
private final Http2PromisedRequestVerifier requestVerifier;
private final Http2SettingsReceivedConsumer settingsReceivedConsumer;
private final boolean autoAckPing;
private final Http2Connection.PropertyKey contentLengthKey;
private final boolean validateHeaders;
public DefaultHttp2ConnectionDecoder(Http2Connection connection,
Http2ConnectionEncoder encoder,
Http2FrameReader frameReader) {
this(connection, encoder, frameReader, ALWAYS_VERIFY);
}
public DefaultHttp2ConnectionDecoder(Http2Connection connection,
Http2ConnectionEncoder encoder,
Http2FrameReader frameReader,
Http2PromisedRequestVerifier requestVerifier) {
this(connection, encoder, frameReader, requestVerifier, true);
}
/**
* Create a new instance.
* @param connection The {@link Http2Connection} associated with this decoder.
* @param encoder The {@link Http2ConnectionEncoder} associated with this decoder.
* @param frameReader Responsible for reading/parsing the raw frames. As opposed to this object which applies
* h2 semantics on top of the frames.
* @param requestVerifier Determines if push promised streams are valid.
* @param autoAckSettings {@code false} to disable automatically applying and sending settings acknowledge frame.
* The {@code Http2ConnectionEncoder} is expected to be an instance of {@link Http2SettingsReceivedConsumer} and
* will apply the earliest received but not yet ACKed SETTINGS when writing the SETTINGS ACKs.
* {@code true} to enable automatically applying and sending settings acknowledge frame.
*/
public DefaultHttp2ConnectionDecoder(Http2Connection connection,
Http2ConnectionEncoder encoder,
Http2FrameReader frameReader,
Http2PromisedRequestVerifier requestVerifier,
boolean autoAckSettings) {
this(connection, encoder, frameReader, requestVerifier, autoAckSettings, true);
}
@Deprecated
public DefaultHttp2ConnectionDecoder(Http2Connection connection,
Http2ConnectionEncoder encoder,
Http2FrameReader frameReader,
Http2PromisedRequestVerifier requestVerifier,
boolean autoAckSettings,
boolean autoAckPing) {
this(connection, encoder, frameReader, requestVerifier, autoAckSettings, autoAckPing, true);
}
/**
* Create a new instance.
* @param connection The {@link Http2Connection} associated with this decoder.
* @param encoder The {@link Http2ConnectionEncoder} associated with this decoder.
* @param frameReader Responsible for reading/parsing the raw frames. As opposed to this object which applies
* h2 semantics on top of the frames.
* @param requestVerifier Determines if push promised streams are valid.
* @param autoAckSettings {@code false} to disable automatically applying and sending settings acknowledge frame.
* The {@code Http2ConnectionEncoder} is expected to be an instance of
* {@link Http2SettingsReceivedConsumer} and will apply the earliest received but not yet
* ACKed SETTINGS when writing the SETTINGS ACKs. {@code true} to enable automatically
* applying and sending settings acknowledge frame.
* @param autoAckPing {@code false} to disable automatically sending ping acknowledge frame. {@code true} to enable
* automatically sending ping ack frame.
*/
public DefaultHttp2ConnectionDecoder(Http2Connection connection,
Http2ConnectionEncoder encoder,
Http2FrameReader frameReader,
Http2PromisedRequestVerifier requestVerifier,
boolean autoAckSettings,
boolean autoAckPing,
boolean validateHeaders) {
this.validateHeaders = validateHeaders;
this.autoAckPing = autoAckPing;
Defined In
Source
Frequently Asked Questions
What is the DefaultHttp2ConnectionDecoder class?
DefaultHttp2ConnectionDecoder is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder.java.
Where is DefaultHttp2ConnectionDecoder defined?
DefaultHttp2ConnectionDecoder is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder.java at line 53.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free