Home / Function/ memoryCopy() — netty Function Reference

memoryCopy() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  e25a8fa2_17a8_61a8_9327_a2eaa7ad8a18["memoryCopy()"]
  36625935_0489_2b34_5e92_67f0dfdfa3f7["DirectArena"]
  e25a8fa2_17a8_61a8_9327_a2eaa7ad8a18 -->|defined in| 36625935_0489_2b34_5e92_67f0dfdfa3f7
  8355ca1b_dc45_7413_2560_d7dae2ffa914["memoryCopy()"]
  e25a8fa2_17a8_61a8_9327_a2eaa7ad8a18 -->|calls| 8355ca1b_dc45_7413_2560_d7dae2ffa914
  style e25a8fa2_17a8_61a8_9327_a2eaa7ad8a18 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/PoolArena.java lines 785–803

        @Override
        protected void memoryCopy(ByteBuffer src, int srcOffset, PooledByteBuf<ByteBuffer> dstBuf, int length) {
            if (length == 0) {
                return;
            }

            if (HAS_UNSAFE) {
                PlatformDependent.copyMemory(
                        PlatformDependent.directBufferAddress(src) + srcOffset,
                        PlatformDependent.directBufferAddress(dstBuf.memory) + dstBuf.offset, length);
            } else {
                // We must duplicate the NIO buffers because they may be accessed by other Netty buffers.
                src = src.duplicate();
                ByteBuffer dst = dstBuf.internalNioBuffer();
                src.position(srcOffset).limit(srcOffset + length);
                dst.position(dstBuf.offset);
                dst.put(src);
            }
        }

Domain

Subdomains

Calls

Frequently Asked Questions

What does memoryCopy() do?
memoryCopy() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PoolArena.java.
Where is memoryCopy() defined?
memoryCopy() is defined in buffer/src/main/java/io/netty/buffer/PoolArena.java at line 785.
What does memoryCopy() call?
memoryCopy() calls 1 function(s): memoryCopy.

Analyze Your Own Codebase

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

Try Supermodel Free