Home / Class/ StreamCreationAndTearDownHandler Class — netty Architecture

StreamCreationAndTearDownHandler Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  fcd68d9c_7d7d_51eb_a9e7_a63dc07db7e9["StreamCreationAndTearDownHandler"]
  1a4414cc_c51a_0f28_9c01_05308a452f26["QuicStreamChannelCloseTest.java"]
  fcd68d9c_7d7d_51eb_a9e7_a63dc07db7e9 -->|defined in| 1a4414cc_c51a_0f28_9c01_05308a452f26
  2ff0bf8e_4bc1_50b8_10b1_3e9eaef19a00["StreamCreationAndTearDownHandler()"]
  fcd68d9c_7d7d_51eb_a9e7_a63dc07db7e9 -->|method| 2ff0bf8e_4bc1_50b8_10b1_3e9eaef19a00
  86f1d1cf_a3c8_db45_f8e7_99ec08ec5ef7["channelActive()"]
  fcd68d9c_7d7d_51eb_a9e7_a63dc07db7e9 -->|method| 86f1d1cf_a3c8_db45_f8e7_99ec08ec5ef7

Relationship Graph

Source Code

codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java lines 228–260

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

        StreamCreationAndTearDownHandler(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)  {
                    final ChannelFuture future;
                    if (halfClose) {
                        future = ((QuicStreamChannel) ctx.channel()).shutdownOutput();
                    } else {
                        future = ctx.channel().close();
                    }
                    future.addListener(f -> {
                        ctx.channel().writeAndFlush("Unsupported message").addListener(wf -> {
                            streamPromise.setFailure(wf.cause());
                        });
                    });
                }
            });
        }
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free