Home / Class/ BufferedTestHandler Class — netty Architecture

BufferedTestHandler Class — netty Architecture

Architecture documentation for the BufferedTestHandler class in DefaultChannelPipelineTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  97ab035f_81f5_b0bc_4aa5_364edb78b510["BufferedTestHandler"]
  ded22145_bbcf_15a1_69b7_30cac8d4be02["DefaultChannelPipelineTest.java"]
  97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|defined in| ded22145_bbcf_15a1_69b7_30cac8d4be02
  417463d2_5106_e33a_c196_293e5a9a3358["write()"]
  97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| 417463d2_5106_e33a_c196_293e5a9a3358
  7d4169d7_9181_99e1_87ea_6f9f43a87299["channelRead()"]
  97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| 7d4169d7_9181_99e1_87ea_6f9f43a87299
  ac3a6375_8af0_d92c_2aa8_38d2de6af30d["handlerRemoved()"]
  97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| ac3a6375_8af0_d92c_2aa8_38d2de6af30d

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 2454–2483

    private static class BufferedTestHandler extends ChannelDuplexHandler {
        final Queue<Object> inboundBuffer = new ArrayDeque<Object>();
        final Queue<Object> outboundBuffer = new ArrayDeque<Object>();

        @Override
        public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
            outboundBuffer.add(msg);
        }

        @Override
        public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
            inboundBuffer.add(msg);
        }

        @Override
        public void handlerRemoved(ChannelHandlerContext ctx) throws Exception {
            if (!inboundBuffer.isEmpty()) {
                for (Object o: inboundBuffer) {
                    ctx.fireChannelRead(o);
                }
                ctx.fireChannelReadComplete();
            }
            if (!outboundBuffer.isEmpty()) {
                for (Object o: outboundBuffer) {
                    ctx.write(o);
                }
                ctx.flush();
            }
        }
    }

Frequently Asked Questions

What is the BufferedTestHandler class?
BufferedTestHandler is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is BufferedTestHandler defined?
BufferedTestHandler is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 2454.

Analyze Your Own Codebase

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

Try Supermodel Free