CompleteFuture Class — netty Architecture
Architecture documentation for the CompleteFuture class in CompleteFuture.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3ff4b834_94f3_e526_984d_edda7ab1f853["CompleteFuture"] 2ed73552_2f12_a9a1_7aeb_748fad49dbf2["CompleteFuture.java"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|defined in| 2ed73552_2f12_a9a1_7aeb_748fad49dbf2 13bbd867_59f6_1611_e13d_87fd2dcbdcc8["CompleteFuture()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 13bbd867_59f6_1611_e13d_87fd2dcbdcc8 9e870834_6dc4_d72c_b94a_7f28feb48ece["EventExecutor()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 9e870834_6dc4_d72c_b94a_7f28feb48ece f3a7735b_7290_cb9e_e4b6_6b87465b37cb["addListener()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| f3a7735b_7290_cb9e_e4b6_6b87465b37cb 9f7c87a5_e5b3_df05_409c_25f45ee2217b["addListeners()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 9f7c87a5_e5b3_df05_409c_25f45ee2217b 7d038ae8_10f5_ea33_9df7_b9be5f2225b7["removeListener()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 7d038ae8_10f5_ea33_9df7_b9be5f2225b7 3540c71f_857b_a8f7_ee50_504cb27b7372["removeListeners()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 3540c71f_857b_a8f7_ee50_504cb27b7372 780d6ec3_dfa2_bab1_53ca_be303f24ed5f["await()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 780d6ec3_dfa2_bab1_53ca_be303f24ed5f 161d780d_9896_9137_dc1e_0673caf8086c["sync()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 161d780d_9896_9137_dc1e_0673caf8086c adeda7f7_1735_f242_4e7a_d040fde360d6["syncUninterruptibly()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| adeda7f7_1735_f242_4e7a_d040fde360d6 1be18a3d_f51a_07d4_75e1_f657aaf9bdc8["awaitUninterruptibly()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 1be18a3d_f51a_07d4_75e1_f657aaf9bdc8 55ac3625_75fb_d497_88cc_9f47c573d863["isDone()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 55ac3625_75fb_d497_88cc_9f47c573d863 b8c17c65_f309_3bae_d696_b8129a811223["isCancellable()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| b8c17c65_f309_3bae_d696_b8129a811223 62bb3227_22c0_df6a_5f07_f18390709332["isCancelled()"] 3ff4b834_94f3_e526_984d_edda7ab1f853 -->|method| 62bb3227_22c0_df6a_5f07_f18390709332
Relationship Graph
Source Code
common/src/main/java/io/netty/util/concurrent/CompleteFuture.java lines 26–150
public abstract class CompleteFuture<V> extends AbstractFuture<V> {
private final EventExecutor executor;
/**
* Creates a new instance.
*
* @param executor the {@link EventExecutor} associated with this future
*/
protected CompleteFuture(EventExecutor executor) {
this.executor = executor;
}
/**
* Return the {@link EventExecutor} which is used by this {@link CompleteFuture}.
*/
protected EventExecutor executor() {
return executor;
}
@Override
public Future<V> addListener(GenericFutureListener<? extends Future<? super V>> listener) {
DefaultPromise.notifyListener(executor(), this, ObjectUtil.checkNotNull(listener, "listener"));
return this;
}
@Override
public Future<V> addListeners(GenericFutureListener<? extends Future<? super V>>... listeners) {
for (GenericFutureListener<? extends Future<? super V>> l:
ObjectUtil.checkNotNull(listeners, "listeners")) {
if (l == null) {
break;
}
DefaultPromise.notifyListener(executor(), this, l);
}
return this;
}
@Override
public Future<V> removeListener(GenericFutureListener<? extends Future<? super V>> listener) {
// NOOP
return this;
}
@Override
public Future<V> removeListeners(GenericFutureListener<? extends Future<? super V>>... listeners) {
// NOOP
return this;
}
@Override
public Future<V> await() throws InterruptedException {
if (Thread.interrupted()) {
throw new InterruptedException();
}
return this;
}
@Override
public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
if (Thread.interrupted()) {
throw new InterruptedException();
}
return true;
}
@Override
public Future<V> sync() throws InterruptedException {
return this;
}
@Override
public Future<V> syncUninterruptibly() {
return this;
}
@Override
public boolean await(long timeoutMillis) throws InterruptedException {
if (Thread.interrupted()) {
throw new InterruptedException();
Source
Frequently Asked Questions
What is the CompleteFuture class?
CompleteFuture is a class in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/CompleteFuture.java.
Where is CompleteFuture defined?
CompleteFuture is defined in common/src/main/java/io/netty/util/concurrent/CompleteFuture.java at line 26.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free