DefaultStream Class — netty Architecture
Architecture documentation for the DefaultStream class in DefaultHttp2Connection.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0b15cc4a_c7cf_6126_9457_993204f4395b["DefaultStream"] c1b91a38_3d50_98cc_116d_1d9e5bc49432["DefaultHttp2Connection.java"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|defined in| c1b91a38_3d50_98cc_116d_1d9e5bc49432 49741a3a_f57a_2c21_d0a3_4f12e59d3dcb["DefaultStream()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 49741a3a_f57a_2c21_d0a3_4f12e59d3dcb 9d7263ab_8421_ff18_0764_884071aa14a0["id()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 9d7263ab_8421_ff18_0764_884071aa14a0 78048ee2_29ff_a4f2_17e7_54eef9bb2571["State()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 78048ee2_29ff_a4f2_17e7_54eef9bb2571 56d2163e_8055_0372_1e6b_64effe1eee8e["isResetSent()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 56d2163e_8055_0372_1e6b_64effe1eee8e b0bbabf3_9ef1_59e5_be02_dd1e1c9fd442["Http2Stream()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| b0bbabf3_9ef1_59e5_be02_dd1e1c9fd442 8d8c6eaa_96e7_4a89_353f_720ac108ac3a["isHeadersSent()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 8d8c6eaa_96e7_4a89_353f_720ac108ac3a 33e8a235_1a32_7bb4_64d8_de45e563d9b2["isTrailersSent()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 33e8a235_1a32_7bb4_64d8_de45e563d9b2 01b98b12_d52d_6527_a46a_845349920a32["isHeadersReceived()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 01b98b12_d52d_6527_a46a_845349920a32 a6479948_4941_78bb_c1c2_e8399bc468b3["isTrailersReceived()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| a6479948_4941_78bb_c1c2_e8399bc468b3 b90dce65_2226_bb27_0666_9740e1616762["isPushPromiseSent()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| b90dce65_2226_bb27_0666_9740e1616762 dfbe2150_e182_9ad0_d801_bc385c8749d3["V()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| dfbe2150_e182_9ad0_d801_bc385c8749d3 c5bb1d90_450c_6623_163c_34de2a1879a6["activate()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| c5bb1d90_450c_6623_163c_34de2a1879a6 1a598dc6_ae75_5736_9f9e_72a81d3979dd["createdBy()"] 0b15cc4a_c7cf_6126_9457_993204f4395b -->|method| 1a598dc6_ae75_5736_9f9e_72a81d3979dd
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java lines 381–625
private class DefaultStream implements Http2Stream {
private static final byte META_STATE_SENT_RST = 1;
private static final byte META_STATE_SENT_HEADERS = 1 << 1;
private static final byte META_STATE_SENT_TRAILERS = 1 << 2;
private static final byte META_STATE_SENT_PUSHPROMISE = 1 << 3;
private static final byte META_STATE_RECV_HEADERS = 1 << 4;
private static final byte META_STATE_RECV_TRAILERS = 1 << 5;
private final int id;
private final long identity;
private final PropertyMap properties = new PropertyMap();
private State state;
private byte metaState;
DefaultStream(long identity, int id, State state) {
this.identity = identity;
this.id = id;
this.state = state;
}
@Override
public final int id() {
return id;
}
@Override
public final State state() {
return state;
}
@Override
public boolean isResetSent() {
return (metaState & META_STATE_SENT_RST) != 0;
}
@Override
public Http2Stream resetSent() {
metaState |= META_STATE_SENT_RST;
return this;
}
@Override
public Http2Stream headersSent(boolean isInformational) {
if (!isInformational) {
metaState |= isHeadersSent() ? META_STATE_SENT_TRAILERS : META_STATE_SENT_HEADERS;
}
return this;
}
@Override
public boolean isHeadersSent() {
return (metaState & META_STATE_SENT_HEADERS) != 0;
}
@Override
public boolean isTrailersSent() {
return (metaState & META_STATE_SENT_TRAILERS) != 0;
}
@Override
public Http2Stream headersReceived(boolean isInformational) {
if (!isInformational) {
metaState |= isHeadersReceived() ? META_STATE_RECV_TRAILERS : META_STATE_RECV_HEADERS;
}
return this;
}
@Override
public boolean isHeadersReceived() {
return (metaState & META_STATE_RECV_HEADERS) != 0;
}
@Override
public boolean isTrailersReceived() {
return (metaState & META_STATE_RECV_TRAILERS) != 0;
}
@Override
public Http2Stream pushPromiseSent() {
metaState |= META_STATE_SENT_PUSHPROMISE;
return this;
}
Source
Frequently Asked Questions
What is the DefaultStream class?
DefaultStream is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java.
Where is DefaultStream defined?
DefaultStream is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Connection.java at line 381.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free