Home / Class/ StreamCreationHandler Class — netty Architecture

StreamCreationHandler Class — netty Architecture

Architecture documentation for the StreamCreationHandler class in QuicStreamChannelCloseTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d2c6bf9c_3525_5737_41ec_54bccc156065["StreamCreationHandler"]
  1a4414cc_c51a_0f28_9c01_05308a452f26["QuicStreamChannelCloseTest.java"]
  d2c6bf9c_3525_5737_41ec_54bccc156065 -->|defined in| 1a4414cc_c51a_0f28_9c01_05308a452f26
  bb517bde_3625_659c_2f19_e0e8b5f99b16["StreamCreationHandler()"]
  d2c6bf9c_3525_5737_41ec_54bccc156065 -->|method| bb517bde_3625_659c_2f19_e0e8b5f99b16
  19cf33d2_837f_e5b6_a1a8_78a9d2920df8["channelActive()"]
  d2c6bf9c_3525_5737_41ec_54bccc156065 -->|method| 19cf33d2_837f_e5b6_a1a8_78a9d2920df8

Relationship Graph

Source Code

codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java lines 262–289

    private static final class StreamCreationHandler extends QuicChannelValidationHandler {
        private final QuicStreamType type;
        private final boolean halfClose;
        private final Promise<Channel> streamPromise;

        StreamCreationHandler(QuicStreamType type, boolean halfClose, Promise<Channel> streamPromise) {
            this.type = type;
            this.halfClose = halfClose;
            this.streamPromise = streamPromise;
        }

        @Override
        public void channelActive(ChannelHandlerContext ctx) {
            super.channelActive(ctx);
            QuicChannel channel = (QuicChannel) ctx.channel();
            channel.createStream(type, new ChannelInboundHandlerAdapter() {
                @Override
                public void channelActive(ChannelHandlerContext ctx)  {
                    streamPromise.trySuccess(ctx.channel());
                    // Do the write and close the channel
                    ctx.writeAndFlush(Unpooled.buffer().writeZero(8))
                            .addListener(halfClose
                                    ? QuicStreamChannel.SHUTDOWN_OUTPUT
                                    : ChannelFutureListener.CLOSE);
                }
            });
        }
    }

Frequently Asked Questions

What is the StreamCreationHandler class?
StreamCreationHandler is a class in the netty codebase, defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java.
Where is StreamCreationHandler defined?
StreamCreationHandler is defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java at line 262.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free