Home / Class/ PooledHeapByteBuf Class — netty Architecture

PooledHeapByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  a62cfc26_17fe_4ffa_c982_878418dba986["PooledHeapByteBuf"]
  c1f3bbc3_1b3b_5617_31a9_016edddfc438["PooledHeapByteBuf.java"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|defined in| c1f3bbc3_1b3b_5617_31a9_016edddfc438
  f7929b1c_4225_c7a7_0fcc_c84763087501["PooledHeapByteBuf()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| f7929b1c_4225_c7a7_0fcc_c84763087501
  46166e39_a310_e3a3_296b_22c0c9fa3b28["isDirect()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 46166e39_a310_e3a3_296b_22c0c9fa3b28
  63b46e56_f7a2_9fba_6adc_5a600e545247["_getByte()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 63b46e56_f7a2_9fba_6adc_5a600e545247
  ba9d6f28_3b5f_ef86_d585_2506c9b85a59["_getShort()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| ba9d6f28_3b5f_ef86_d585_2506c9b85a59
  e64d5032_215f_2232_bb52_879168eda0be["_getShortLE()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| e64d5032_215f_2232_bb52_879168eda0be
  bbcfdbd6_643f_e419_5f75_51b7431434a0["_getUnsignedMedium()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| bbcfdbd6_643f_e419_5f75_51b7431434a0
  e6a6d414_7bed_80d8_8d46_5d51ccf18074["_getUnsignedMediumLE()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| e6a6d414_7bed_80d8_8d46_5d51ccf18074
  ee6d23f9_b195_bf47_f0e8_98f334e1abcc["_getInt()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| ee6d23f9_b195_bf47_f0e8_98f334e1abcc
  bd0f8994_22a6_4c76_ea5d_a6e43a572c4b["_getIntLE()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| bd0f8994_22a6_4c76_ea5d_a6e43a572c4b
  25393533_996d_b803_4425_930643d01552["_getLong()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 25393533_996d_b803_4425_930643d01552
  468d723e_7971_b9a0_81d1_3dbd97b57dd7["_getLongLE()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 468d723e_7971_b9a0_81d1_3dbd97b57dd7
  1c5de21b_8119_3d49_301a_c8e323551d3c["ByteBuf()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 1c5de21b_8119_3d49_301a_c8e323551d3c
  58e5c17f_4d72_699f_2c09_20edb81c4cf5["_setByte()"]
  a62cfc26_17fe_4ffa_c982_878418dba986 -->|method| 58e5c17f_4d72_699f_2c09_20edb81c4cf5

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/PooledHeapByteBuf.java lines 26–253

class PooledHeapByteBuf extends PooledByteBuf<byte[]> {

    private static final Recycler<PooledHeapByteBuf> RECYCLER =
            new Recycler<PooledHeapByteBuf>() {
                @Override
                protected PooledHeapByteBuf newObject(Handle<PooledHeapByteBuf> handle) {
                    return new PooledHeapByteBuf(handle, 0);
                }
            };

    static PooledHeapByteBuf newInstance(int maxCapacity) {
        PooledHeapByteBuf buf = RECYCLER.get();
        buf.reuse(maxCapacity);
        return buf;
    }

    PooledHeapByteBuf(Handle<? extends PooledHeapByteBuf> recyclerHandle, int maxCapacity) {
        super(recyclerHandle, maxCapacity);
    }

    @Override
    public final boolean isDirect() {
        return false;
    }

    @Override
    protected byte _getByte(int index) {
        return HeapByteBufUtil.getByte(memory, idx(index));
    }

    @Override
    protected short _getShort(int index) {
        return HeapByteBufUtil.getShort(memory, idx(index));
    }

    @Override
    protected short _getShortLE(int index) {
        return HeapByteBufUtil.getShortLE(memory, idx(index));
    }

    @Override
    protected int _getUnsignedMedium(int index) {
        return HeapByteBufUtil.getUnsignedMedium(memory, idx(index));
    }

    @Override
    protected int _getUnsignedMediumLE(int index) {
        return HeapByteBufUtil.getUnsignedMediumLE(memory, idx(index));
    }

    @Override
    protected int _getInt(int index) {
        return HeapByteBufUtil.getInt(memory, idx(index));
    }

    @Override
    protected int _getIntLE(int index) {
        return HeapByteBufUtil.getIntLE(memory, idx(index));
    }

    @Override
    protected long _getLong(int index) {
        return HeapByteBufUtil.getLong(memory, idx(index));
    }

    @Override
    protected long _getLongLE(int index) {
        return HeapByteBufUtil.getLongLE(memory, idx(index));
    }

    @Override
    public final ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
        checkDstIndex(index, length, dstIndex, dst.capacity());
        if (dst.hasMemoryAddress() && PlatformDependent.hasUnsafe()) {
            PlatformDependent.copyMemory(memory, idx(index), dst.memoryAddress() + dstIndex, length);
        } else if (dst.hasArray()) {
            getBytes(index, dst.array(), dst.arrayOffset() + dstIndex, length);
        } else {
            dst.setBytes(dstIndex, memory, idx(index), length);
        }
        return this;

Frequently Asked Questions

What is the PooledHeapByteBuf class?
PooledHeapByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PooledHeapByteBuf.java.
Where is PooledHeapByteBuf defined?
PooledHeapByteBuf is defined in buffer/src/main/java/io/netty/buffer/PooledHeapByteBuf.java at line 26.

Analyze Your Own Codebase

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

Try Supermodel Free