doReleaseChannel() — netty Function Reference
Architecture documentation for the doReleaseChannel() function in SimpleChannelPool.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2["doReleaseChannel()"] e441b5b0_fbd9_848c_9624_3e21f7c56e58["SimpleChannelPool"] edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 -->|defined in| e441b5b0_fbd9_848c_9624_3e21f7c56e58 f7de2118_7e0e_1138_b047_455dbc2dd98f["release()"] f7de2118_7e0e_1138_b047_455dbc2dd98f -->|calls| edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 289c2758_bf72_3fdf_f9ce_fa04213a1c12["closeAndFail()"] edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 -->|calls| 289c2758_bf72_3fdf_f9ce_fa04213a1c12 372c81d4_671e_eced_ddf9_8148d4635f01["doHealthCheckOnRelease()"] edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 -->|calls| 372c81d4_671e_eced_ddf9_8148d4635f01 2b1e97d7_871a_5c1e_15d6_5e3d8b4d2fb1["releaseAndOffer()"] edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 -->|calls| 2b1e97d7_871a_5c1e_15d6_5e3d8b4d2fb1 style edd5c18f_fdf6_5dbc_4d9f_3143ea1106e2 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/pool/SimpleChannelPool.java lines 287–307
private void doReleaseChannel(Channel channel, Promise<Void> promise) {
try {
assert channel.eventLoop().inEventLoop();
// Remove the POOL_KEY attribute from the Channel and check if it was acquired from this pool, if not fail.
if (channel.attr(POOL_KEY).getAndSet(null) != this) {
closeAndFail(channel,
// Better include a stacktrace here as this is an user error.
new IllegalArgumentException(
"Channel " + channel + " was not acquired from this ChannelPool"),
promise);
} else {
if (releaseHealthCheck) {
doHealthCheckOnRelease(channel, promise);
} else {
releaseAndOffer(channel, promise);
}
}
} catch (Throwable cause) {
closeAndFail(channel, cause, promise);
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does doReleaseChannel() do?
doReleaseChannel() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/pool/SimpleChannelPool.java.
Where is doReleaseChannel() defined?
doReleaseChannel() is defined in transport/src/main/java/io/netty/channel/pool/SimpleChannelPool.java at line 287.
What does doReleaseChannel() call?
doReleaseChannel() calls 3 function(s): closeAndFail, doHealthCheckOnRelease, releaseAndOffer.
What calls doReleaseChannel()?
doReleaseChannel() is called by 1 function(s): release.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free