DirectCleaner Class — netty Architecture
Architecture documentation for the DirectCleaner class in DirectCleaner.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0c19ed67_fc5e_d201_4b7f_ef464cc43ad4["DirectCleaner"] 22f71322_6bd5_1aaf_502c_245e9f03332b["DirectCleaner.java"] 0c19ed67_fc5e_d201_4b7f_ef464cc43ad4 -->|defined in| 22f71322_6bd5_1aaf_502c_245e9f03332b abbd78e6_2771_2432_9853_9b2af9e23586["CleanableDirectBuffer()"] 0c19ed67_fc5e_d201_4b7f_ef464cc43ad4 -->|method| abbd78e6_2771_2432_9853_9b2af9e23586 120d3778_5b40_5289_49a8_1f277fea4419["freeDirectBuffer()"] 0c19ed67_fc5e_d201_4b7f_ef464cc43ad4 -->|method| 120d3778_5b40_5289_49a8_1f277fea4419
Relationship Graph
Source Code
common/src/main/java/io/netty/util/internal/DirectCleaner.java lines 20–53
final class DirectCleaner implements Cleaner {
@Override
public CleanableDirectBuffer allocate(int capacity) {
return new CleanableDirectBufferImpl(PlatformDependent.allocateDirectNoCleaner(capacity));
}
@Override
public void freeDirectBuffer(ByteBuffer buffer) {
PlatformDependent.freeDirectNoCleaner(buffer);
}
CleanableDirectBuffer reallocate(CleanableDirectBuffer buffer, int capacity) {
ByteBuffer newByteBuffer = PlatformDependent.reallocateDirectNoCleaner(buffer.buffer(), capacity);
return new CleanableDirectBufferImpl(newByteBuffer);
}
private static final class CleanableDirectBufferImpl implements CleanableDirectBuffer {
private final ByteBuffer buffer;
private CleanableDirectBufferImpl(ByteBuffer buffer) {
this.buffer = buffer;
}
@Override
public ByteBuffer buffer() {
return buffer;
}
@Override
public void clean() {
PlatformDependent.freeDirectNoCleaner(buffer);
}
}
}
Source
Frequently Asked Questions
What is the DirectCleaner class?
DirectCleaner is a class in the netty codebase, defined in common/src/main/java/io/netty/util/internal/DirectCleaner.java.
Where is DirectCleaner defined?
DirectCleaner is defined in common/src/main/java/io/netty/util/internal/DirectCleaner.java at line 20.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free