size2SizeIdx() — netty Function Reference
Architecture documentation for the size2SizeIdx() function in SizeClasses.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 84194f88_a180_4e4f_24f0_73236d305f6d["size2SizeIdx()"] d1cbce7b_bd0a_5553_8e62_6deeb38137ff["SizeClasses"] 84194f88_a180_4e4f_24f0_73236d305f6d -->|defined in| d1cbce7b_bd0a_5553_8e62_6deeb38137ff e527e111_d931_4c43_c84e_902b0e4264cf["alignSizeIfNeeded()"] 84194f88_a180_4e4f_24f0_73236d305f6d -->|calls| e527e111_d931_4c43_c84e_902b0e4264cf style 84194f88_a180_4e4f_24f0_73236d305f6d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/SizeClasses.java lines 315–343
@Override
public int size2SizeIdx(int size) {
if (size == 0) {
return 0;
}
if (size > chunkSize) {
return nSizes;
}
size = alignSizeIfNeeded(size, directMemoryCacheAlignment);
if (size <= lookupMaxSize) {
//size-1 / MIN_TINY
return size2idxTab[size - 1 >> LOG2_QUANTUM];
}
int x = log2((size << 1) - 1);
int shift = x < LOG2_SIZE_CLASS_GROUP + LOG2_QUANTUM + 1
? 0 : x - (LOG2_SIZE_CLASS_GROUP + LOG2_QUANTUM);
int group = shift << LOG2_SIZE_CLASS_GROUP;
int log2Delta = x < LOG2_SIZE_CLASS_GROUP + LOG2_QUANTUM + 1
? LOG2_QUANTUM : x - LOG2_SIZE_CLASS_GROUP - 1;
int mod = size - 1 >> log2Delta & (1 << LOG2_SIZE_CLASS_GROUP) - 1;
return group + mod;
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does size2SizeIdx() do?
size2SizeIdx() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/SizeClasses.java.
Where is size2SizeIdx() defined?
size2SizeIdx() is defined in buffer/src/main/java/io/netty/buffer/SizeClasses.java at line 315.
What does size2SizeIdx() call?
size2SizeIdx() calls 1 function(s): alignSizeIfNeeded.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free