Home / Class/ ForwardWriteToReadOnOtherHandler Class — netty Architecture

ForwardWriteToReadOnOtherHandler Class — netty Architecture

Architecture documentation for the ForwardWriteToReadOnOtherHandler class in QpackEncoderDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  62ec3f73_4eae_c152_0034_4de8ce7bf7cb["ForwardWriteToReadOnOtherHandler"]
  4ef54157_5465_5f29_8ce6_4e23bc831e45["QpackEncoderDecoderTest.java"]
  62ec3f73_4eae_c152_0034_4de8ce7bf7cb -->|defined in| 4ef54157_5465_5f29_8ce6_4e23bc831e45
  bbb304a6_88c5_3761_85cf_c8b2e6f61a3e["ForwardWriteToReadOnOtherHandler()"]
  62ec3f73_4eae_c152_0034_4de8ce7bf7cb -->|method| bbb304a6_88c5_3761_85cf_c8b2e6f61a3e
  c464a4be_305a_2934_2bee_709f279ff7f9["write()"]
  62ec3f73_4eae_c152_0034_4de8ce7bf7cb -->|method| c464a4be_305a_2934_2bee_709f279ff7f9

Relationship Graph

Source Code

codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java lines 512–542

    private static final class ForwardWriteToReadOnOtherHandler extends ChannelOutboundHandlerAdapter {

        private final ChannelInboundHandler other;
        private final BlockingQueue<Callable<Void>> suspendQueue;

        ForwardWriteToReadOnOtherHandler(ChannelInboundHandler other) {
            this(other, null);
        }

        ForwardWriteToReadOnOtherHandler(ChannelInboundHandler other,
                                         @Nullable BlockingQueue<Callable<Void>> suspendQueue) {
            this.other = other;
            this.suspendQueue = suspendQueue;
        }

        @Override
        public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
            if (msg instanceof ByteBuf) {
                if (suspendQueue != null) {
                    suspendQueue.offer(() -> {
                        other.channelRead(ctx, msg);
                        return null;
                    });
                } else {
                    other.channelRead(ctx, msg);
                }
            } else {
                super.write(ctx, msg, promise);
            }
        }
    }

Frequently Asked Questions

What is the ForwardWriteToReadOnOtherHandler class?
ForwardWriteToReadOnOtherHandler is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java.
Where is ForwardWriteToReadOnOtherHandler defined?
ForwardWriteToReadOnOtherHandler is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java at line 512.

Analyze Your Own Codebase

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

Try Supermodel Free