Home / Class/ FixedCompositeByteBuf Class — netty Architecture

FixedCompositeByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c3651b69_631a_1f76_b70c_086b089609c2["FixedCompositeByteBuf"]
  b254aacb_6eee_130a_2652_1316ad9b75ae["FixedCompositeByteBuf.java"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|defined in| b254aacb_6eee_130a_2652_1316ad9b75ae
  d9190928_bf46_3572_cdf2_ef21a0627edb["FixedCompositeByteBuf()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| d9190928_bf46_3572_cdf2_ef21a0627edb
  7cf38e60_e0e3_4220_8404_6dd503fb8826["isWritable()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 7cf38e60_e0e3_4220_8404_6dd503fb8826
  debfe023_76ba_b9e0_cdb5_f99303084c91["ByteBuf()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| debfe023_76ba_b9e0_cdb5_f99303084c91
  a89d1e50_d4ea_8db1_b54e_539b5f3b2607["_setByte()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| a89d1e50_d4ea_8db1_b54e_539b5f3b2607
  08b004b8_83d1_56f1_3901_55f829ab502e["_setShort()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 08b004b8_83d1_56f1_3901_55f829ab502e
  74dd4561_d07c_ec0d_bedf_5e1a6b4a9cf9["_setShortLE()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 74dd4561_d07c_ec0d_bedf_5e1a6b4a9cf9
  45ce58d6_e4d0_2ab9_f4d1_54d8b7fd83e4["_setMedium()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 45ce58d6_e4d0_2ab9_f4d1_54d8b7fd83e4
  ab2f87a7_9cbc_0945_6c41_42e7cc1d0c76["_setMediumLE()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| ab2f87a7_9cbc_0945_6c41_42e7cc1d0c76
  0f1902ae_512d_1ce1_a020_cd1d2a96ee67["_setInt()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 0f1902ae_512d_1ce1_a020_cd1d2a96ee67
  6464b2ad_77ac_e49f_33bb_b2b5e4823b28["_setIntLE()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 6464b2ad_77ac_e49f_33bb_b2b5e4823b28
  53477de7_ebe7_1688_2f36_2b6a7ee3598b["_setLong()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 53477de7_ebe7_1688_2f36_2b6a7ee3598b
  af80351b_79f3_56f6_2f8f_71a693aa57ae["_setLongLE()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| af80351b_79f3_56f6_2f8f_71a693aa57ae
  22ceea6a_72c0_d785_c747_5736b039b566["setBytes()"]
  c3651b69_631a_1f76_b70c_086b089609c2 -->|method| 22ceea6a_72c0_d785_c747_5736b039b566

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/FixedCompositeByteBuf.java lines 36–688

final class FixedCompositeByteBuf extends AbstractReferenceCountedByteBuf {
    private static final ByteBuf[] EMPTY = { Unpooled.EMPTY_BUFFER };
    private final int nioBufferCount;
    private final int capacity;
    private final ByteBufAllocator allocator;
    private final ByteOrder order;
    private final ByteBuf[] buffers;
    private final boolean direct;

    FixedCompositeByteBuf(ByteBufAllocator allocator, ByteBuf... buffers) {
        super(AbstractByteBufAllocator.DEFAULT_MAX_CAPACITY);
        if (buffers.length == 0) {
            this.buffers = EMPTY;
            order = ByteOrder.BIG_ENDIAN;
            nioBufferCount = 1;
            capacity = 0;
            direct = Unpooled.EMPTY_BUFFER.isDirect();
        } else {
            ByteBuf b = buffers[0];
            this.buffers = buffers;
            boolean direct = true;
            int nioBufferCount = b.nioBufferCount();
            int capacity = b.readableBytes();
            order = b.order();
            for (int i = 1; i < buffers.length; i++) {
                b = buffers[i];
                if (buffers[i].order() != order) {
                    throw new IllegalArgumentException("All ByteBufs need to have same ByteOrder");
                }
                nioBufferCount += b.nioBufferCount();
                capacity += b.readableBytes();
                if (!b.isDirect()) {
                    direct = false;
                }
            }
            this.nioBufferCount = nioBufferCount;
            this.capacity = capacity;
            this.direct = direct;
        }
        setIndex(0, capacity());
        this.allocator = allocator;
    }

    @Override
    public boolean isWritable() {
        return false;
    }

    @Override
    public boolean isWritable(int size) {
        return false;
    }

    @Override
    public ByteBuf discardReadBytes() {
        throw new ReadOnlyBufferException();
    }

    @Override
    public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
        throw new ReadOnlyBufferException();
    }

    @Override
    public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
        throw new ReadOnlyBufferException();
    }

    @Override
    public ByteBuf setBytes(int index, ByteBuffer src) {
        throw new ReadOnlyBufferException();
    }

    @Override
    public ByteBuf setByte(int index, int value) {
        throw new ReadOnlyBufferException();
    }

    @Override
    protected void _setByte(int index, int value) {
        throw new ReadOnlyBufferException();

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free