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
Source
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