AcquireListener Class — netty Architecture
Architecture documentation for the AcquireListener class in FixedChannelPool.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d8460a0c_276c_cf7c_d74b_b4ef6c2be6d1["AcquireListener"] 4b30891f_00e9_b07c_2218_4f447886cfdd["FixedChannelPool.java"] d8460a0c_276c_cf7c_d74b_b4ef6c2be6d1 -->|defined in| 4b30891f_00e9_b07c_2218_4f447886cfdd eeb76f34_1a17_d512_4712_7714228787a2["AcquireListener()"] d8460a0c_276c_cf7c_d74b_b4ef6c2be6d1 -->|method| eeb76f34_1a17_d512_4712_7714228787a2 a0e3ca45_7007_bd76_d79f_81a640f79d24["operationComplete()"] d8460a0c_276c_cf7c_d74b_b4ef6c2be6d1 -->|method| a0e3ca45_7007_bd76_d79f_81a640f79d24 0838d3b3_52a9_65c1_0d21_2ababab8d237["acquired()"] d8460a0c_276c_cf7c_d74b_b4ef6c2be6d1 -->|method| 0838d3b3_52a9_65c1_0d21_2ababab8d237
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/pool/FixedChannelPool.java lines 397–442
private class AcquireListener implements FutureListener<Channel> {
private final Promise<Channel> originalPromise;
protected boolean acquired;
AcquireListener(Promise<Channel> originalPromise) {
this.originalPromise = originalPromise;
}
@Override
public void operationComplete(Future<Channel> future) throws Exception {
try {
assert executor.inEventLoop();
if (closed) {
if (future.isSuccess()) {
// Since the pool is closed, we have no choice but to close the channel
future.getNow().close();
}
originalPromise.setFailure(new IllegalStateException("FixedChannelPool was closed"));
return;
}
if (future.isSuccess()) {
originalPromise.setSuccess(future.getNow());
} else {
if (acquired) {
decrementAndRunTaskQueue();
} else {
runTaskQueue();
}
originalPromise.setFailure(future.cause());
}
} catch (Throwable cause) {
originalPromise.tryFailure(cause);
}
}
public void acquired() {
if (acquired) {
return;
}
acquiredChannelCount.incrementAndGet();
acquired = true;
}
}
Source
Frequently Asked Questions
What is the AcquireListener class?
AcquireListener is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/pool/FixedChannelPool.java.
Where is AcquireListener defined?
AcquireListener is defined in transport/src/main/java/io/netty/channel/pool/FixedChannelPool.java at line 397.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free