Home / Function/ splitLargeRun() — netty Function Reference

splitLargeRun() — netty Function Reference

Architecture documentation for the splitLargeRun() function in PoolChunk.java from the netty codebase.

Function java Buffer Telemetry calls 4 called by 1

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

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