Home / Class/ AcceptedAddressMemory Class — netty Architecture

AcceptedAddressMemory Class — netty Architecture

Architecture documentation for the AcceptedAddressMemory class in AbstractIoUringServerChannel.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  912a3f10_b23d_c3fc_082b_f1ac98a5b06d["AcceptedAddressMemory"]
  5b47452d_abef_bdce_c83f_bda00ce524e5["AbstractIoUringServerChannel.java"]
  912a3f10_b23d_c3fc_082b_f1ac98a5b06d -->|defined in| 5b47452d_abef_bdce_c83f_bda00ce524e5
  7680ded9_87cf_5b03_8d89_d666f8cde33f["AcceptedAddressMemory()"]
  912a3f10_b23d_c3fc_082b_f1ac98a5b06d -->|method| 7680ded9_87cf_5b03_8d89_d666f8cde33f
  ed16e98e_9352_1612_96dd_d5892845430a["free()"]
  912a3f10_b23d_c3fc_082b_f1ac98a5b06d -->|method| ed16e98e_9352_1612_96dd_d5892845430a

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringServerChannel.java lines 39–63

    private static final class AcceptedAddressMemory {
        private final CleanableDirectBuffer acceptedAddressMemoryCleanable;
        private final ByteBuffer acceptedAddressMemory;
        private final CleanableDirectBuffer acceptedAddressLengthMemoryCleanable;
        private final ByteBuffer acceptedAddressLengthMemory;
        private final long acceptedAddressMemoryAddress;
        private final long acceptedAddressLengthMemoryAddress;

        AcceptedAddressMemory() {
            acceptedAddressMemoryCleanable = Buffer.allocateDirectBufferWithNativeOrder(Native.SIZEOF_SOCKADDR_STORAGE);
            acceptedAddressMemory = acceptedAddressMemoryCleanable.buffer();
            acceptedAddressMemoryAddress = Buffer.memoryAddress(acceptedAddressMemory);
            acceptedAddressLengthMemoryCleanable = Buffer.allocateDirectBufferWithNativeOrder(Long.BYTES);
            acceptedAddressLengthMemory = acceptedAddressLengthMemoryCleanable.buffer();
            // Needs to be initialized to the size of acceptedAddressMemory.
            // See https://man7.org/linux/man-pages/man2/accept.2.html
            acceptedAddressLengthMemory.putLong(0, Native.SIZEOF_SOCKADDR_STORAGE);
            acceptedAddressLengthMemoryAddress = Buffer.memoryAddress(acceptedAddressLengthMemory);
        }

        void free() {
            acceptedAddressMemoryCleanable.clean();
            acceptedAddressLengthMemoryCleanable.clean();
        }
    }

Frequently Asked Questions

What is the AcceptedAddressMemory class?
AcceptedAddressMemory is a class in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringServerChannel.java.
Where is AcceptedAddressMemory defined?
AcceptedAddressMemory is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringServerChannel.java at line 39.

Analyze Your Own Codebase

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

Try Supermodel Free