CleanableDirectBufferImpl Class — netty Architecture
Architecture documentation for the CleanableDirectBufferImpl class in CleanerJava25.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD b250c4d1_4129_022d_d543_64362dea18fc["CleanableDirectBufferImpl"] 65e55f1e_37ee_36e5_4c41_4fe66a648def["CleanerJava25.java"] b250c4d1_4129_022d_d543_64362dea18fc -->|defined in| 65e55f1e_37ee_36e5_4c41_4fe66a648def 68242bcf_a2b6_d8fd_71cf_f17fbf258399["CleanableDirectBufferImpl()"] b250c4d1_4129_022d_d543_64362dea18fc -->|method| 68242bcf_a2b6_d8fd_71cf_f17fbf258399 dc1d9866_d261_5cf3_85b9_772404f5024d["ByteBuffer()"] b250c4d1_4129_022d_d543_64362dea18fc -->|method| dc1d9866_d261_5cf3_85b9_772404f5024d 882415a4_b442_2979_aa70_377b10587cc7["clean()"] b250c4d1_4129_022d_d543_64362dea18fc -->|method| 882415a4_b442_2979_aa70_377b10587cc7 256d5c2e_efaf_0501_9647_0b112c2258b7["hasMemoryAddress()"] b250c4d1_4129_022d_d543_64362dea18fc -->|method| 256d5c2e_efaf_0501_9647_0b112c2258b7 ff5e00fa_8dd7_9827_e8f2_1dfe32d8d2ed["memoryAddress()"] b250c4d1_4129_022d_d543_64362dea18fc -->|method| ff5e00fa_8dd7_9827_e8f2_1dfe32d8d2ed
Relationship Graph
Source Code
common/src/main/java/io/netty/util/internal/CleanerJava25.java lines 186–223
private static final class CleanableDirectBufferImpl implements CleanableDirectBuffer {
private final AutoCloseable closeable;
private final ByteBuffer buffer;
private final long memoryAddress;
// NOTE: must be at least package-protected to allow calls from the method handles!
CleanableDirectBufferImpl(AutoCloseable closeable, ByteBuffer buffer, long memoryAddress) {
this.closeable = closeable;
this.buffer = buffer;
this.memoryAddress = memoryAddress;
}
@Override
public ByteBuffer buffer() {
return buffer;
}
@Override
public void clean() {
try {
closeable.close();
} catch (RuntimeException e) {
throw e; // Propagate the runtime exceptions that Arena would normally throw.
} catch (Exception e) {
throw new IllegalStateException("Unexpected close exception", e);
}
}
@Override
public boolean hasMemoryAddress() {
return true;
}
@Override
public long memoryAddress() {
return memoryAddress;
}
}
Source
Frequently Asked Questions
What is the CleanableDirectBufferImpl class?
CleanableDirectBufferImpl is a class in the netty codebase, defined in common/src/main/java/io/netty/util/internal/CleanerJava25.java.
Where is CleanableDirectBufferImpl defined?
CleanableDirectBufferImpl is defined in common/src/main/java/io/netty/util/internal/CleanerJava25.java at line 186.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free