Home / Function/ free() — netty Function Reference

free() — netty Function Reference

Architecture documentation for the free() function in PoolArena.java from the netty codebase.

Function java Buffer Search calls 2 called by 3

Entity Profile

Dependency Diagram

graph TD
  1eb7867b_3257_ad29_cda0_1b8484056b67["free()"]
  de926ba9_75e3_c416_27fc_3623234991a8["PoolArena"]
  1eb7867b_3257_ad29_cda0_1b8484056b67 -->|defined in| de926ba9_75e3_c416_27fc_3623234991a8
  027331c1_1487_71f3_a618_b8048be0dc49["tcacheAllocateSmall()"]
  027331c1_1487_71f3_a618_b8048be0dc49 -->|calls| 1eb7867b_3257_ad29_cda0_1b8484056b67
  49dbf789_be1b_69c7_042a_27d74a8c475d["freeChunk()"]
  49dbf789_be1b_69c7_042a_27d74a8c475d -->|calls| 1eb7867b_3257_ad29_cda0_1b8484056b67
  41f1f758_db84_9e73_7e23_6c7d6ad2b5dd["reallocate()"]
  41f1f758_db84_9e73_7e23_6c7d6ad2b5dd -->|calls| 1eb7867b_3257_ad29_cda0_1b8484056b67
  49dbf789_be1b_69c7_042a_27d74a8c475d["freeChunk()"]
  1eb7867b_3257_ad29_cda0_1b8484056b67 -->|calls| 49dbf789_be1b_69c7_042a_27d74a8c475d
  ae1f5354_6c2b_3fd8_c85d_14af9d52df05["destroyChunk()"]
  1eb7867b_3257_ad29_cda0_1b8484056b67 -->|calls| ae1f5354_6c2b_3fd8_c85d_14af9d52df05
  style 1eb7867b_3257_ad29_cda0_1b8484056b67 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/PoolArena.java lines 237–253

    void free(PoolChunk<T> chunk, ByteBuffer nioBuffer, long handle, int normCapacity, PoolThreadCache cache) {
        chunk.decrementPinnedMemory(normCapacity);
        if (chunk.unpooled) {
            int size = chunk.chunkSize();
            destroyChunk(chunk);
            activeBytesHuge.add(-size);
            deallocationsHuge.increment();
        } else {
            SizeClass sizeClass = sizeClass(handle);
            if (cache != null && cache.add(this, chunk, nioBuffer, handle, normCapacity, sizeClass)) {
                // cached so not free it.
                return;
            }

            freeChunk(chunk, handle, normCapacity, sizeClass, nioBuffer, false);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does free() do?
free() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PoolArena.java.
Where is free() defined?
free() is defined in buffer/src/main/java/io/netty/buffer/PoolArena.java at line 237.
What does free() call?
free() calls 2 function(s): destroyChunk, freeChunk.
What calls free()?
free() is called by 3 function(s): freeChunk, reallocate, tcacheAllocateSmall.

Analyze Your Own Codebase

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

Try Supermodel Free