Home / Class/ NativeArrays Class — netty Architecture

NativeArrays Class — netty Architecture

Architecture documentation for the NativeArrays class in NativeArrays.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d7e651b1_f45a_94c7_4928_6680ad08f28e["NativeArrays"]
  443aba53_80c9_5384_bc86_eb3be244ddcb["NativeArrays.java"]
  d7e651b1_f45a_94c7_4928_6680ad08f28e -->|defined in| 443aba53_80c9_5384_bc86_eb3be244ddcb
  ea2b1f6e_2f32_2371_f495_017384918142["IovArray()"]
  d7e651b1_f45a_94c7_4928_6680ad08f28e -->|method| ea2b1f6e_2f32_2371_f495_017384918142
  43a7ff72_db91_e0ba_505d_0c8e29bac29e["NativeDatagramPacketArray()"]
  d7e651b1_f45a_94c7_4928_6680ad08f28e -->|method| 43a7ff72_db91_e0ba_505d_0c8e29bac29e
  8e5fb739_32df_6ddd_bb56_1877e94732bb["free()"]
  d7e651b1_f45a_94c7_4928_6680ad08f28e -->|method| 8e5fb739_32df_6ddd_bb56_1877e94732bb

Relationship Graph

Source Code

transport-classes-epoll/src/main/java/io/netty/channel/epoll/NativeArrays.java lines 20–61

final class NativeArrays {

    // These are initialized on first use
    private IovArray iovArray;
    private NativeDatagramPacketArray datagramPacketArray;

    /**
     * Return a cleared {@link IovArray} that can be used for writes.
     */
    IovArray cleanIovArray() {
        if (iovArray == null) {
            iovArray = new IovArray();
        } else {
            iovArray.clear();
        }
        return iovArray;
    }

    /**
     * Return a cleared {@link NativeDatagramPacketArray} that can be used for writes.
     */
    NativeDatagramPacketArray cleanDatagramPacketArray() {
        if (datagramPacketArray == null) {
            datagramPacketArray = new NativeDatagramPacketArray();
        } else {
            datagramPacketArray.clear();
        }
        return datagramPacketArray;
    }

    void free() {
        // release native memory
        if (iovArray != null) {
            iovArray.release();
            iovArray = null;
        }
        if (datagramPacketArray != null) {
            datagramPacketArray.release();
            datagramPacketArray = null;
        }
    }
}

Frequently Asked Questions

What is the NativeArrays class?
NativeArrays is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/NativeArrays.java.
Where is NativeArrays defined?
NativeArrays is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/NativeArrays.java at line 20.

Analyze Your Own Codebase

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

Try Supermodel Free