EmbeddedQuicStreamChannel Class — netty Architecture
Architecture documentation for the EmbeddedQuicStreamChannel class in EmbeddedQuicStreamChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 2d34325c_8fee_a954_938b_a19a27c3e0a4["EmbeddedQuicStreamChannel"] d1044dab_7c7d_5007_8909_a089157038cf["EmbeddedQuicStreamChannel.java"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|defined in| d1044dab_7c7d_5007_8909_a089157038cf a23b8c15_21a3_e3db_1451_431906eddc60["EmbeddedQuicStreamChannel()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| a23b8c15_21a3_e3db_1451_431906eddc60 9f9cc754_21a7_21ca_52fd_3e3d6308c5d2["writeInboundWithFin()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 9f9cc754_21a7_21ca_52fd_3e3d6308c5d2 6e0f29d2_44fa_4b35_dc23_c7b246910957["writeInboundFin()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 6e0f29d2_44fa_4b35_dc23_c7b246910957 6b11c968_0574_ab72_dc45_fa182825001d["fireInputShutdownEvents()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 6b11c968_0574_ab72_dc45_fa182825001d 5b7f63ab_d6f8_139f_30b2_5c537ad2e4b5["QuicStreamChannel()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 5b7f63ab_d6f8_139f_30b2_5c537ad2e4b5 5803198d_093c_0410_ebae_757ddb9a1c9f["QuicStreamPriority()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 5803198d_093c_0410_ebae_757ddb9a1c9f 7a78464b_4763_17d2_dd86_fadefb0f78c7["ChannelFuture()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 7a78464b_4763_17d2_dd86_fadefb0f78c7 cd3dfe37_8ced_60d2_b512_935e0fa19d2f["QuicStreamAddress()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| cd3dfe37_8ced_60d2_b512_935e0fa19d2f fa6503be_d1f6_53cf_1b74_658e7847d2ef["QuicChannel()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| fa6503be_d1f6_53cf_1b74_658e7847d2ef 89fecbe4_b21b_dbfa_a834_733af539cea3["QuicStreamChannelConfig()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 89fecbe4_b21b_dbfa_a834_733af539cea3 df2e7ce7_23bd_0288_caa3_685accc89bb5["isLocalCreated()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| df2e7ce7_23bd_0288_caa3_685accc89bb5 f78885fe_0b58_2642_9991_75db876fa6a6["QuicStreamType()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| f78885fe_0b58_2642_9991_75db876fa6a6 85ac510e_4525_8b17_ce41_172a0a9fa2d9["streamId()"] 2d34325c_8fee_a954_938b_a19a27c3e0a4 -->|method| 85ac510e_4525_8b17_ce41_172a0a9fa2d9
Relationship Graph
Source Code
codec-http3/src/test/java/io/netty/handler/codec/http3/EmbeddedQuicStreamChannel.java lines 49–471
final class EmbeddedQuicStreamChannel extends EmbeddedChannel implements QuicStreamChannel {
private static final AttributeKey<Long> streamIdKey = valueOf("embedded_channel_stream_id");
private static final AttributeKey<QuicStreamType> streamTypeKey = valueOf("embedded_channel_stream_type");
private static final AttributeKey<Boolean> localCreatedKey = valueOf("embedded_channel_stream_local_created");
private QuicStreamChannelConfig config;
private Integer inputShutdown;
private Integer outputShutdown;
EmbeddedQuicStreamChannel(ChannelHandler... handlers) {
this(null, false, QuicStreamType.BIDIRECTIONAL, 0, handlers);
}
EmbeddedQuicStreamChannel(@Nullable QuicChannel parent, boolean localCreated, QuicStreamType type,
long id, ChannelHandler... handlers) {
super(parent, DefaultChannelId.newInstance(), true, false,
prependChannelConsumer(channel -> {
channel.attr(streamIdKey).set(id);
channel.attr(streamTypeKey).set(type);
channel.attr(localCreatedKey).set(localCreated);
}, handlers));
}
boolean writeInboundWithFin(Object... msgs) {
shutdownInput();
boolean written = writeInbound(msgs);
fireInputShutdownEvents();
return written;
}
void writeInboundFin() {
shutdownInput();
fireInputShutdownEvents();
}
private void fireInputShutdownEvents() {
pipeline().fireUserEventTriggered(ChannelInputShutdownEvent.INSTANCE);
pipeline().fireUserEventTriggered(ChannelInputShutdownReadComplete.INSTANCE);
}
@Override
public QuicStreamChannel flush() {
super.flush();
return this;
}
@Override
public QuicStreamChannel read() {
super.read();
return this;
}
@Override
@Nullable
public QuicStreamPriority priority() {
return null;
}
@Override
public ChannelFuture updatePriority(QuicStreamPriority priority, ChannelPromise promise) {
return promise.setFailure(new UnsupportedOperationException());
}
@Override
@Nullable
public QuicStreamAddress localAddress() {
return null;
}
@Override
@Nullable
public QuicStreamAddress remoteAddress() {
return null;
}
@Override
public QuicChannel parent() {
return (QuicChannel) super.parent();
}
@Override
public QuicStreamChannelConfig config() {
Source
Frequently Asked Questions
What is the EmbeddedQuicStreamChannel class?
EmbeddedQuicStreamChannel is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/EmbeddedQuicStreamChannel.java.
Where is EmbeddedQuicStreamChannel defined?
EmbeddedQuicStreamChannel is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/EmbeddedQuicStreamChannel.java at line 49.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free