Chunk() — netty Function Reference
Architecture documentation for the Chunk() function in AdaptivePoolingAllocator.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 8edf4271_5ef6_204f_a88c_f516a308944f["Chunk()"] ce074796_a915_3e8e_0b02_6bb0f820ea3e["ConcurrentSkipListChunkCache"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|defined in| ce074796_a915_3e8e_0b02_6bb0f820ea3e 1fed9ab7_5a1d_51fc_3bb4_e5426c8fe9db["isEmpty()"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|calls| 1fed9ab7_5a1d_51fc_3bb4_e5426c8fe9db 2b1d13b5_b5b9_8db8_baa4_b5edd12f88d0["remove()"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|calls| 2b1d13b5_b5b9_8db8_baa4_b5edd12f88d0 04f8cd58_f031_827b_41fb_b7445b790e37["hasUnprocessedFreelistEntries()"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|calls| 04f8cd58_f031_827b_41fb_b7445b790e37 64a005fb_49a2_2033_49c6_cbcbad4ec48a["processFreelistEntries()"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|calls| 64a005fb_49a2_2033_49c6_cbcbad4ec48a aa355cc9_0be7_7204_fd7f_51edca001d83["remainingCapacity()"] 8edf4271_5ef6_204f_a88c_f516a308944f -->|calls| aa355cc9_0be7_7204_fd7f_51edca001d83 style 8edf4271_5ef6_204f_a88c_f516a308944f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java lines 563–603
@Override
public Chunk pollChunk(int size) {
if (chunks.isEmpty()) {
return null;
}
IntEntry<Chunk> entry = chunks.pollCeilingEntry(size);
if (entry != null) {
Chunk chunk = entry.getValue();
if (chunk.hasUnprocessedFreelistEntries()) {
chunk.processFreelistEntries();
}
return chunk;
}
Chunk bestChunk = null;
int bestRemainingCapacity = 0;
Iterator<IntEntry<Chunk>> itr = chunks.iterator();
while (itr.hasNext()) {
entry = itr.next();
final Chunk chunk;
if (entry != null && (chunk = entry.getValue()).hasUnprocessedFreelistEntries()) {
if (!chunks.remove(entry.getKey(), entry.getValue())) {
continue;
}
chunk.processFreelistEntries();
int remainingCapacity = chunk.remainingCapacity();
if (remainingCapacity >= size &&
(bestChunk == null || remainingCapacity > bestRemainingCapacity)) {
if (bestChunk != null) {
chunks.put(bestRemainingCapacity, bestChunk);
}
bestChunk = chunk;
bestRemainingCapacity = remainingCapacity;
} else {
chunks.put(remainingCapacity, chunk);
}
}
}
return bestChunk;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does Chunk() do?
Chunk() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java.
Where is Chunk() defined?
Chunk() is defined in buffer/src/main/java/io/netty/buffer/AdaptivePoolingAllocator.java at line 563.
What does Chunk() call?
Chunk() calls 5 function(s): hasUnprocessedFreelistEntries, isEmpty, processFreelistEntries, remainingCapacity, remove.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free