Home / Function/ testListenerNotifyOrder() — netty Function Reference

testListenerNotifyOrder() — netty Function Reference

Architecture documentation for the testListenerNotifyOrder() function in DefaultPromiseTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c612de75_f6bf_0f75_a599_8ca8ad753c40["testListenerNotifyOrder()"]
  18d135a2_101c_bae7_e68f_dd4660e1fb75["DefaultPromiseTest"]
  c612de75_f6bf_0f75_a599_8ca8ad753c40 -->|defined in| 18d135a2_101c_bae7_e68f_dd4660e1fb75
  7ea2f073_8f06_492d_3ce0_3651a2c14c01["TestEventExecutor()"]
  c612de75_f6bf_0f75_a599_8ca8ad753c40 -->|calls| 7ea2f073_8f06_492d_3ce0_3651a2c14c01
  8a5571f5_2006_3c17_8a8a_593a884241a7["execute()"]
  c612de75_f6bf_0f75_a599_8ca8ad753c40 -->|calls| 8a5571f5_2006_3c17_8a8a_593a884241a7
  91d7c04c_78df_5079_c536_a87d3e68b6fb["run()"]
  c612de75_f6bf_0f75_a599_8ca8ad753c40 -->|calls| 91d7c04c_78df_5079_c536_a87d3e68b6fb
  817c8cdd_038c_e049_c910_fd52454e0e8d["shutdownGracefully()"]
  c612de75_f6bf_0f75_a599_8ca8ad753c40 -->|calls| 817c8cdd_038c_e049_c910_fd52454e0e8d
  style c612de75_f6bf_0f75_a599_8ca8ad753c40 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/test/java/io/netty/util/concurrent/DefaultPromiseTest.java lines 244–297

    @Test
    public void testListenerNotifyOrder() throws Exception {
        EventExecutor executor = new TestEventExecutor();
        try {
            final BlockingQueue<FutureListener<Void>> listeners = new LinkedBlockingQueue<FutureListener<Void>>();
            int runs = 100000;

            for (int i = 0; i < runs; i++) {
                final Promise<Void> promise = new DefaultPromise<Void>(executor);
                final FutureListener<Void> listener1 = new FutureListener<Void>() {
                    @Override
                    public void operationComplete(Future<Void> future) throws Exception {
                        listeners.add(this);
                    }
                };
                final FutureListener<Void> listener2 = new FutureListener<Void>() {
                    @Override
                    public void operationComplete(Future<Void> future) throws Exception {
                        listeners.add(this);
                    }
                };
                final FutureListener<Void> listener4 = new FutureListener<Void>() {
                    @Override
                    public void operationComplete(Future<Void> future) throws Exception {
                        listeners.add(this);
                    }
                };
                final FutureListener<Void> listener3 = new FutureListener<Void>() {
                    @Override
                    public void operationComplete(Future<Void> future) throws Exception {
                        listeners.add(this);
                        future.addListener(listener4);
                    }
                };

                GlobalEventExecutor.INSTANCE.execute(new Runnable() {
                    @Override
                    public void run() {
                        promise.setSuccess(null);
                    }
                });

                promise.addListener(listener1).addListener(listener2).addListener(listener3);

                assertSame(listener1, listeners.take(), "Fail 1 during run " + i + " / " + runs);
                assertSame(listener2, listeners.take(), "Fail 2 during run " + i + " / " + runs);
                assertSame(listener3, listeners.take(), "Fail 3 during run " + i + " / " + runs);
                assertSame(listener4, listeners.take(), "Fail 4 during run " + i + " / " + runs);
                assertTrue(listeners.isEmpty(), "Fail during run " + i + " / " + runs);
            }
        } finally {
            executor.shutdownGracefully(0, 0, TimeUnit.SECONDS).sync();
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testListenerNotifyOrder() do?
testListenerNotifyOrder() is a function in the netty codebase, defined in common/src/test/java/io/netty/util/concurrent/DefaultPromiseTest.java.
Where is testListenerNotifyOrder() defined?
testListenerNotifyOrder() is defined in common/src/test/java/io/netty/util/concurrent/DefaultPromiseTest.java at line 244.
What does testListenerNotifyOrder() call?
testListenerNotifyOrder() calls 4 function(s): TestEventExecutor, execute, run, shutdownGracefully.

Analyze Your Own Codebase

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

Try Supermodel Free