CleanableDirectBufferImpl Class — netty Architecture
Architecture documentation for the CleanableDirectBufferImpl class in CleanerJava24Linker.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6fa1ae34_46bc_90dc_c677_0a968a080654["CleanableDirectBufferImpl"] 04dd755a_bbac_35e6_9950_f61de6d82a81["CleanerJava24Linker.java"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|defined in| 04dd755a_bbac_35e6_9950_f61de6d82a81 0ef8ae96_0679_0b3e_6dd3_5e3f708bc569["CleanableDirectBufferImpl()"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|method| 0ef8ae96_0679_0b3e_6dd3_5e3f708bc569 2e2a00e9_a304_e17d_584d_75d330164088["ByteBuffer()"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|method| 2e2a00e9_a304_e17d_584d_75d330164088 68d923fc_7668_ba5f_c41e_604d127478a1["clean()"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|method| 68d923fc_7668_ba5f_c41e_604d127478a1 d09f93b4_454a_2259_93ad_8e8003bc5742["hasMemoryAddress()"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|method| d09f93b4_454a_2259_93ad_8e8003bc5742 0f9744a7_6f85_21e9_0835_d79bd8753d18["memoryAddress()"] 6fa1ae34_46bc_90dc_c677_0a968a080654 -->|method| 0f9744a7_6f85_21e9_0835_d79bd8753d18
Relationship Graph
Source Code
common/src/main/java/io/netty/util/internal/CleanerJava24Linker.java lines 229–268
private static final class CleanableDirectBufferImpl implements CleanableDirectBuffer {
private final ByteBuffer buffer;
private final long memoryAddress;
private CleanableDirectBufferImpl(int capacity) {
long addr = malloc(capacity);
try {
memoryAddress = addr;
buffer = (ByteBuffer) INVOKE_CREATE_BYTEBUFFER.invokeExact(addr, (long) capacity);
} catch (Throwable throwable) {
Error error = new Error(throwable);
try {
free(addr);
} catch (Throwable e) {
error.addSuppressed(e);
}
throw error;
}
}
@Override
public ByteBuffer buffer() {
return buffer;
}
@Override
public void clean() {
free(memoryAddress);
}
@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/CleanerJava24Linker.java.
Where is CleanableDirectBufferImpl defined?
CleanableDirectBufferImpl is defined in common/src/main/java/io/netty/util/internal/CleanerJava24Linker.java at line 229.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free