splitLargeRun() — netty Function Reference
Architecture documentation for the splitLargeRun() function in PoolChunk.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD e0491618_1a24_463c_753f_6914e389ffd3["splitLargeRun()"] 271be16e_fb25_9fe6_0749_cf5dd80dd903["PoolChunk"] e0491618_1a24_463c_753f_6914e389ffd3 -->|defined in| 271be16e_fb25_9fe6_0749_cf5dd80dd903 ff51bcad_2a8e_9ef1_b286_8e676953d24e["allocateRun()"] ff51bcad_2a8e_9ef1_b286_8e676953d24e -->|calls| e0491618_1a24_463c_753f_6914e389ffd3 dc13ebd8_c529_7ebf_35cc_4cc9171ec3d6["runPages()"] e0491618_1a24_463c_753f_6914e389ffd3 -->|calls| dc13ebd8_c529_7ebf_35cc_4cc9171ec3d6 22016f68_b853_63ea_32c8_c288b8996440["runOffset()"] e0491618_1a24_463c_753f_6914e389ffd3 -->|calls| 22016f68_b853_63ea_32c8_c288b8996440 ad10cf92_7c56_46e4_64cc_cf0d8d87aa22["toRunHandle()"] e0491618_1a24_463c_753f_6914e389ffd3 -->|calls| ad10cf92_7c56_46e4_64cc_cf0d8d87aa22 9adde7b9_78be_7351_d13f_4b1e178b71e5["insertAvailRun()"] e0491618_1a24_463c_753f_6914e389ffd3 -->|calls| 9adde7b9_78be_7351_d13f_4b1e178b71e5 style e0491618_1a24_463c_753f_6914e389ffd3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/PoolChunk.java lines 439–462
private long splitLargeRun(long handle, int needPages) {
assert needPages > 0;
int totalPages = runPages(handle);
assert needPages <= totalPages;
int remPages = totalPages - needPages;
if (remPages > 0) {
int runOffset = runOffset(handle);
// keep track of trailing unused pages for later use
int availOffset = runOffset + needPages;
long availRun = toRunHandle(availOffset, remPages, 0);
insertAvailRun(availOffset, remPages, availRun);
// not avail
return toRunHandle(runOffset, needPages, 1);
}
//mark it as used
handle |= 1L << IS_USED_SHIFT;
return handle;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does splitLargeRun() do?
splitLargeRun() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PoolChunk.java.
Where is splitLargeRun() defined?
splitLargeRun() is defined in buffer/src/main/java/io/netty/buffer/PoolChunk.java at line 439.
What does splitLargeRun() call?
splitLargeRun() calls 4 function(s): insertAvailRun, runOffset, runPages, toRunHandle.
What calls splitLargeRun()?
splitLargeRun() is called by 1 function(s): allocateRun.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free