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();
Source
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