Home / Function/ testInboundOperationsViaContext() — netty Function Reference

testInboundOperationsViaContext() — netty Function Reference

Architecture documentation for the testInboundOperationsViaContext() function in DefaultChannelPipelineTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  731aa04d_219a_75c2_d8e9_f289c284e3c1["testInboundOperationsViaContext()"]
  666d912b_4166_a807_ed10_ba12f328a7b2["DefaultChannelPipelineTest"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|defined in| 666d912b_4166_a807_ed10_ba12f328a7b2
  36fce318_f10e_2b70_4def_d189ac0af1ed["execute()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 36fce318_f10e_2b70_4def_d189ac0af1ed
  b6b3177d_4a5d_4986_d686_72d74d60a0c4["executeInboundOperations()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| b6b3177d_4a5d_4986_d686_72d74d60a0c4
  5fc622fb_5f4c_7d67_185e_c49b439ee8ee["channelRegistered()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 5fc622fb_5f4c_7d67_185e_c49b439ee8ee
  1d452d01_3db6_52b5_379d_35d9b73113bd["channelUnregistered()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 1d452d01_3db6_52b5_379d_35d9b73113bd
  cd324eb4_5f6d_be7d_50c6_e253e4a9ddcb["channelActive()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| cd324eb4_5f6d_be7d_50c6_e253e4a9ddcb
  ed6bf91e_c899_ad72_f4a9_3f88ea91b5f7["channelInactive()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| ed6bf91e_c899_ad72_f4a9_3f88ea91b5f7
  7ce79e8a_1c7e_9a47_a4ec_aca00c5cfa51["channelReadComplete()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 7ce79e8a_1c7e_9a47_a4ec_aca00c5cfa51
  afbd06c7_8be6_8c80_6027_782a5a029487["userEventTriggered()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| afbd06c7_8be6_8c80_6027_782a5a029487
  a6df567b_7520_5d98_9920_ea7e67935a9b["channelWritabilityChanged()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| a6df567b_7520_5d98_9920_ea7e67935a9b
  76d0323d_6adb_0c4c_dee1_48f5476bd522["close()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 76d0323d_6adb_0c4c_dee1_48f5476bd522
  d6664eb5_44ea_b3fe_a9be_c7a773dc8656["channelRead()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| d6664eb5_44ea_b3fe_a9be_c7a773dc8656
  8c52b958_e400_144f_b4f2_e60153ac0d1a["exceptionCaught()"]
  731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 8c52b958_e400_144f_b4f2_e60153ac0d1a
  style 731aa04d_219a_75c2_d8e9_f289c284e3c1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 457–530

    @ParameterizedTest
    @ValueSource(booleans = {true, false})
    public void testInboundOperationsViaContext(boolean inEventLoop) throws Exception {
        ChannelPipeline pipeline = new LocalChannel().pipeline();
        final ChannelHandler handler = new ChannelHandlerAdapter() { };
        pipeline.addLast(handler);
        group.register(pipeline.channel()).syncUninterruptibly();
        final BlockingQueue<String> events = new LinkedBlockingQueue<>();
        pipeline.addLast(new ChannelInboundHandlerAdapter() {
            @Override
            public void channelRegistered(ChannelHandlerContext ctx) {
                events.add("channelRegistered");
            }

            @Override
            public void channelUnregistered(ChannelHandlerContext ctx) {
                events.add("channelUnregistered");
            }

            @Override
            public void channelActive(ChannelHandlerContext ctx) {
                events.add("channelActive");
            }

            @Override
            public void channelInactive(ChannelHandlerContext ctx) {
                events.add("channelInactive");
            }

            @Override
            public void channelRead(ChannelHandlerContext ctx, Object msg) {
                events.add("channelRead");
            }

            @Override
            public void channelReadComplete(ChannelHandlerContext ctx) {
                events.add("channelReadComplete");
            }

            @Override
            public void userEventTriggered(ChannelHandlerContext ctx, Object evt)  {
                events.add("userEventTriggered");
            }

            @Override
            public void channelWritabilityChanged(ChannelHandlerContext ctx) {
                events.add("channelWritabilityChanged");
            }

            @Override
            public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
                events.add("exceptionCaught");
            }
        });
        final ChannelHandlerContext ctx = pipeline.context(handler);
        if (inEventLoop) {
            pipeline.channel().eventLoop().execute(() -> executeInboundOperations(ctx));
        } else {
            executeInboundOperations(ctx);
        }

        assertEquals("channelRegistered", events.take());
        assertEquals("channelUnregistered", events.take());
        assertEquals("channelActive", events.take());
        assertEquals("channelInactive", events.take());
        assertEquals("channelRead", events.take());
        assertEquals("channelReadComplete", events.take());
        assertEquals("userEventTriggered", events.take());
        assertEquals("channelWritabilityChanged", events.take());
        assertEquals("exceptionCaught", events.take());
        assertTrue(events.isEmpty());
        pipeline.removeLast();
        pipeline.channel().close().syncUninterruptibly();
    }

Domain

Subdomains

Frequently Asked Questions

What does testInboundOperationsViaContext() do?
testInboundOperationsViaContext() is a function in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is testInboundOperationsViaContext() defined?
testInboundOperationsViaContext() is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 457.
What does testInboundOperationsViaContext() call?
testInboundOperationsViaContext() calls 12 function(s): channelActive, channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, close, and 4 more.

Analyze Your Own Codebase

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

Try Supermodel Free