Home / Function/ calculateRunSize() — netty Function Reference

calculateRunSize() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  f05ef488_130c_6bae_ae66_5e07522e80f9["calculateRunSize()"]
  271be16e_fb25_9fe6_0749_cf5dd80dd903["PoolChunk"]
  f05ef488_130c_6bae_ae66_5e07522e80f9 -->|defined in| 271be16e_fb25_9fe6_0749_cf5dd80dd903
  de510c10_913b_9792_3aa7_159e623d5dd8["allocateSubpage()"]
  de510c10_913b_9792_3aa7_159e623d5dd8 -->|calls| f05ef488_130c_6bae_ae66_5e07522e80f9
  style f05ef488_130c_6bae_ae66_5e07522e80f9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/PoolChunk.java lines 401–424

    private int calculateRunSize(int sizeIdx) {
        int maxElements = 1 << pageShifts - SizeClasses.LOG2_QUANTUM;
        int runSize = 0;
        int nElements;

        final int elemSize = arena.sizeClass.sizeIdx2size(sizeIdx);

        //find lowest common multiple of pageSize and elemSize
        do {
            runSize += pageSize;
            nElements = runSize / elemSize;
        } while (nElements < maxElements && runSize != nElements * elemSize);

        while (nElements > maxElements) {
            runSize -= pageSize;
            nElements = runSize / elemSize;
        }

        assert nElements > 0;
        assert runSize <= chunkSize;
        assert runSize >= elemSize;

        return runSize;
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does calculateRunSize() do?
calculateRunSize() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PoolChunk.java.
Where is calculateRunSize() defined?
calculateRunSize() is defined in buffer/src/main/java/io/netty/buffer/PoolChunk.java at line 401.
What calls calculateRunSize()?
calculateRunSize() is called by 1 function(s): allocateSubpage.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free