ConcurrentQueueChunkCache Class — netty Architecture
Architecture documentation for the ConcurrentQueueChunkCache class in AdaptivePoolingAllocator.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 938adf42_e2a2_8327_31b0_f4ff5165ce47["ConcurrentQueueChunkCache"] fee3fa6d_a7fb_30d6_ea34_49602c633a2c["AdaptivePoolingAllocator.java"] 938adf42_e2a2_8327_31b0_f4ff5165ce47 -->|defined in| fee3fa6d_a7fb_30d6_ea34_49602c633a2c 402939f3_dd4d_ad11_477e_bdc4ee5c0ad9["ConcurrentQueueChunkCache()"] 938adf42_e2a2_8327_31b0_f4ff5165ce47 -->|method| 402939f3_dd4d_ad11_477e_bdc4ee5c0ad9 cf3730c9_1042_a858_3557_b0e2bfc53f3d["Chunk()"] 938adf42_e2a2_8327_31b0_f4ff5165ce47 -->|method| cf3730c9_1042_a858_3557_b0e2bfc53f3d feca76a1_135e_83be_6297_3ca41c7e00bd["offerChunk()"] 938adf42_e2a2_8327_31b0_f4ff5165ce47 -->|method| feca76a1_135e_83be_6297_3ca41c7e00bd
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java lines 524–554
private static final class ConcurrentQueueChunkCache implements ChunkCache {
private final Queue<Chunk> queue;
private ConcurrentQueueChunkCache() {
queue = createSharedChunkQueue();
}
@Override
public Chunk pollChunk(int size) {
int attemps = queue.size();
for (int i = 0; i < attemps; i++) {
Chunk chunk = queue.poll();
if (chunk == null) {
return null;
}
if (chunk.hasUnprocessedFreelistEntries()) {
chunk.processFreelistEntries();
}
if (chunk.remainingCapacity() >= size) {
return chunk;
}
queue.offer(chunk);
}
return null;
}
@Override
public boolean offerChunk(Chunk chunk) {
return queue.offer(chunk);
}
}
Source
Frequently Asked Questions
What is the ConcurrentQueueChunkCache class?
ConcurrentQueueChunkCache is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java.
Where is ConcurrentQueueChunkCache defined?
ConcurrentQueueChunkCache is defined in buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java at line 524.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free