Home / Class/ EmbeddedQuicStreamChannel Class — netty Architecture

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() {

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