DecrementingCleanableDirectBuffer Class — netty Architecture
Architecture documentation for the DecrementingCleanableDirectBuffer class in UnpooledByteBufAllocator.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 835cca31_741d_f3b9_14cc_cda9675445f5["DecrementingCleanableDirectBuffer"] 0b4b2671_fb24_9a0d_bc3a_aef00ae524b0["UnpooledByteBufAllocator.java"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|defined in| 0b4b2671_fb24_9a0d_bc3a_aef00ae524b0 11bc4317_e275_74e2_10b8_a397d6938773["DecrementingCleanableDirectBuffer()"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|method| 11bc4317_e275_74e2_10b8_a397d6938773 8080fba4_e1a0_d8f6_01e0_8ac66af10b58["ByteBuffer()"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|method| 8080fba4_e1a0_d8f6_01e0_8ac66af10b58 fe8493db_25dc_42cf_428e_6939ca598384["clean()"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|method| fe8493db_25dc_42cf_428e_6939ca598384 2c53924d_df49_e260_e7fd_66ca5248d92e["hasMemoryAddress()"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|method| 2c53924d_df49_e260_e7fd_66ca5248d92e dacf10ae_2b58_72db_2f0a_a09d101ad9f8["memoryAddress()"] 835cca31_741d_f3b9_14cc_cda9675445f5 -->|method| dacf10ae_2b58_72db_2f0a_a09d101ad9f8
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/UnpooledByteBufAllocator.java lines 245–282
private static final class DecrementingCleanableDirectBuffer implements CleanableDirectBuffer {
private final UnpooledByteBufAllocator alloc;
private final CleanableDirectBuffer delegate;
private DecrementingCleanableDirectBuffer(
ByteBufAllocator alloc, CleanableDirectBuffer delegate) {
this(alloc, delegate, delegate.buffer().capacity());
}
private DecrementingCleanableDirectBuffer(
ByteBufAllocator alloc, CleanableDirectBuffer delegate, int capacityConsumed) {
this.alloc = (UnpooledByteBufAllocator) alloc;
this.alloc.incrementDirect(capacityConsumed);
this.delegate = delegate;
}
@Override
public ByteBuffer buffer() {
return delegate.buffer();
}
@Override
public void clean() {
int capacity = delegate.buffer().capacity();
delegate.clean();
alloc.decrementDirect(capacity);
}
@Override
public boolean hasMemoryAddress() {
return delegate.hasMemoryAddress();
}
@Override
public long memoryAddress() {
return delegate.memoryAddress();
}
}
Source
Frequently Asked Questions
What is the DecrementingCleanableDirectBuffer class?
DecrementingCleanableDirectBuffer is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/UnpooledByteBufAllocator.java.
Where is DecrementingCleanableDirectBuffer defined?
DecrementingCleanableDirectBuffer is defined in buffer/src/main/java/io/netty/buffer/UnpooledByteBufAllocator.java at line 245.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free