Home / Class/ AbstractUnpooledSlicedByteBuf Class — netty Architecture

AbstractUnpooledSlicedByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b["AbstractUnpooledSlicedByteBuf"]
  2a1808ed_92c6_6e64_afc9_c24cf2c8b544["AbstractUnpooledSlicedByteBuf.java"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|defined in| 2a1808ed_92c6_6e64_afc9_c24cf2c8b544
  9ce6d7e2_6416_57d7_e2e4_50c48fb80fb5["AbstractUnpooledSlicedByteBuf()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 9ce6d7e2_6416_57d7_e2e4_50c48fb80fb5
  6f2b3d35_9320_b7e8_aa9b_a56f2f514b27["initLength()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 6f2b3d35_9320_b7e8_aa9b_a56f2f514b27
  ecdd491d_5de3_cf98_5f56_0682d5f51810["length()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| ecdd491d_5de3_cf98_5f56_0682d5f51810
  8e3cb47d_06d9_d3bb_6e81_50e58c08d06d["ByteBuf()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 8e3cb47d_06d9_d3bb_6e81_50e58c08d06d
  e1c7724c_fc41_3864_630e_13694d99125f["ByteBufAllocator()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| e1c7724c_fc41_3864_630e_13694d99125f
  66ce42fc_bc8f_e8ba_65ef_081df2637147["ByteOrder()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 66ce42fc_bc8f_e8ba_65ef_081df2637147
  ac6dcf9d_201f_6711_a4c2_9d7048b27f4b["isDirect()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| ac6dcf9d_201f_6711_a4c2_9d7048b27f4b
  a41ade23_1d3d_ff17_6ef3_89d0390662fe["hasArray()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| a41ade23_1d3d_ff17_6ef3_89d0390662fe
  0f42aeb1_313e_e462_5e4b_cc320d3e7821["array()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 0f42aeb1_313e_e462_5e4b_cc320d3e7821
  40287854_70ad_11bb_6574_dda9babdfeba["arrayOffset()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 40287854_70ad_11bb_6574_dda9babdfeba
  2b748c59_41bb_4695_9844_9d7371a12eef["hasMemoryAddress()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 2b748c59_41bb_4695_9844_9d7371a12eef
  59e9a019_d040_3654_c88f_e198dc4dbe54["memoryAddress()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 59e9a019_d040_3654_c88f_e198dc4dbe54
  1db3ac92_922f_da3d_fca5_0bbf78315ffc["getByte()"]
  39cc57bf_c07f_2a88_6701_62f38b4d0c5b -->|method| 1db3ac92_922f_da3d_fca5_0bbf78315ffc

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/AbstractUnpooledSlicedByteBuf.java lines 32–482

abstract class AbstractUnpooledSlicedByteBuf extends AbstractDerivedByteBuf {
    private final ByteBuf buffer;
    private final int adjustment;

    AbstractUnpooledSlicedByteBuf(ByteBuf buffer, int index, int length) {
        super(length);
        checkSliceOutOfBounds(index, length, buffer);

        if (buffer instanceof AbstractUnpooledSlicedByteBuf) {
            this.buffer = ((AbstractUnpooledSlicedByteBuf) buffer).buffer;
            adjustment = ((AbstractUnpooledSlicedByteBuf) buffer).adjustment + index;
        } else if (buffer instanceof DuplicatedByteBuf) {
            this.buffer = buffer.unwrap();
            adjustment = index;
        } else {
            this.buffer = buffer;
            adjustment = index;
        }

        initLength(length);
        writerIndex(length);
    }

    /**
     * Called by the constructor before {@link #writerIndex(int)}.
     * @param length the {@code length} argument from the constructor.
     */
    void initLength(int length) {
    }

    int length() {
        return capacity();
    }

    @Override
    public ByteBuf unwrap() {
        return buffer;
    }

    @Override
    public ByteBufAllocator alloc() {
        return unwrap().alloc();
    }

    @Override
    @Deprecated
    public ByteOrder order() {
        return unwrap().order();
    }

    @Override
    public boolean isDirect() {
        return unwrap().isDirect();
    }

    @Override
    public ByteBuf capacity(int newCapacity) {
        throw new UnsupportedOperationException("sliced buffer");
    }

    @Override
    public boolean hasArray() {
        return unwrap().hasArray();
    }

    @Override
    public byte[] array() {
        return unwrap().array();
    }

    @Override
    public int arrayOffset() {
        return idx(unwrap().arrayOffset());
    }

    @Override
    public boolean hasMemoryAddress() {
        return unwrap().hasMemoryAddress();
    }

    @Override

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free