Home / Function/ testHandlerAddedAndRemovedCalledInCorrectOrder() — netty Function Reference

testHandlerAddedAndRemovedCalledInCorrectOrder() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  06e79d87_9f59_1258_e380_e590698fe728["testHandlerAddedAndRemovedCalledInCorrectOrder()"]
  666d912b_4166_a807_ed10_ba12f328a7b2["DefaultChannelPipelineTest"]
  06e79d87_9f59_1258_e380_e590698fe728 -->|defined in| 666d912b_4166_a807_ed10_ba12f328a7b2
  619c7d68_f7f8_be9e_2a99_4ccb84dad111["CheckOrderHandler()"]
  06e79d87_9f59_1258_e380_e590698fe728 -->|calls| 619c7d68_f7f8_be9e_2a99_4ccb84dad111
  9816e614_7679_273b_ffcf_014b62995e45["assertHandler()"]
  06e79d87_9f59_1258_e380_e590698fe728 -->|calls| 9816e614_7679_273b_ffcf_014b62995e45
  19bd3906_4c8c_ae23_6c05_b7a84d367379["shutdownGracefully()"]
  06e79d87_9f59_1258_e380_e590698fe728 -->|calls| 19bd3906_4c8c_ae23_6c05_b7a84d367379
  0734e696_bf2a_45af_707c_9731756d1f7d["close()"]
  06e79d87_9f59_1258_e380_e590698fe728 -->|calls| 0734e696_bf2a_45af_707c_9731756d1f7d
  style 06e79d87_9f59_1258_e380_e590698fe728 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 1258–1300

    @Test
    @Timeout(value = 3000, unit = TimeUnit.MILLISECONDS)
    public void testHandlerAddedAndRemovedCalledInCorrectOrder() throws Throwable {
        final EventExecutorGroup group1 = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());
        final EventExecutorGroup group2 = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());

        try {
            BlockingQueue<CheckOrderHandler> addedQueue = new LinkedBlockingQueue<CheckOrderHandler>();
            BlockingQueue<CheckOrderHandler> removedQueue = new LinkedBlockingQueue<CheckOrderHandler>();

            CheckOrderHandler handler1 = new CheckOrderHandler(addedQueue, removedQueue);
            CheckOrderHandler handler2 = new CheckOrderHandler(addedQueue, removedQueue);
            CheckOrderHandler handler3 = new CheckOrderHandler(addedQueue, removedQueue);
            CheckOrderHandler handler4 = new CheckOrderHandler(addedQueue, removedQueue);

            ChannelPipeline pipeline = new LocalChannel().pipeline();
            pipeline.addLast(handler1);
            group.register(pipeline.channel()).syncUninterruptibly();
            pipeline.addLast(group1, handler2);
            pipeline.addLast(group2, handler3);
            pipeline.addLast(handler4);

            assertTrue(removedQueue.isEmpty());
            pipeline.channel().close().syncUninterruptibly();
            assertHandler(addedQueue.take(), handler1);

            // Depending on timing this can be handler2 or handler3 as these use different EventExecutorGroups.
            assertHandler(addedQueue.take(), handler2, handler3, handler4);
            assertHandler(addedQueue.take(), handler2, handler3, handler4);
            assertHandler(addedQueue.take(), handler2, handler3, handler4);

            assertTrue(addedQueue.isEmpty());

            assertHandler(removedQueue.take(), handler4);
            assertHandler(removedQueue.take(), handler3);
            assertHandler(removedQueue.take(), handler2);
            assertHandler(removedQueue.take(), handler1);
            assertTrue(removedQueue.isEmpty());
        } finally {
            group1.shutdownGracefully();
            group2.shutdownGracefully();
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testHandlerAddedAndRemovedCalledInCorrectOrder() do?
testHandlerAddedAndRemovedCalledInCorrectOrder() is a function in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is testHandlerAddedAndRemovedCalledInCorrectOrder() defined?
testHandlerAddedAndRemovedCalledInCorrectOrder() is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 1258.
What does testHandlerAddedAndRemovedCalledInCorrectOrder() call?
testHandlerAddedAndRemovedCalledInCorrectOrder() calls 4 function(s): CheckOrderHandler, assertHandler, close, shutdownGracefully.

Analyze Your Own Codebase

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

Try Supermodel Free