EmptyByteBuf Class — netty Architecture
Architecture documentation for the EmptyByteBuf class in EmptyByteBuf.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 594ebf45_898a_04a1_8c80_d110c3e4f07a["EmptyByteBuf"] a0895074_90f4_add7_cb2d_ef32c931a9db["EmptyByteBuf.java"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|defined in| a0895074_90f4_add7_cb2d_ef32c931a9db fb9f6f5d_ab21_16a3_01dd_8d9e2d82ab08["EmptyByteBuf()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| fb9f6f5d_ab21_16a3_01dd_8d9e2d82ab08 626a5343_9ebb_8e3e_e289_bf704c1299a1["capacity()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 626a5343_9ebb_8e3e_e289_bf704c1299a1 ab6db82b_b910_0c3b_9f94_c6953824edea["ByteBuf()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| ab6db82b_b910_0c3b_9f94_c6953824edea 806ba74c_cd1b_17b8_23b8_f5ba85c85f37["ByteBufAllocator()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 806ba74c_cd1b_17b8_23b8_f5ba85c85f37 03250bd7_3656_7c0b_f2a8_bdd2c73b35f3["ByteOrder()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 03250bd7_3656_7c0b_f2a8_bdd2c73b35f3 af82143e_ab60_1393_ed17_641d0d784815["isReadOnly()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| af82143e_ab60_1393_ed17_641d0d784815 aa918c07_6541_18e2_4719_913acaf56130["isDirect()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| aa918c07_6541_18e2_4719_913acaf56130 45faacfd_f4ee_014c_8e2b_2ea6fb6b907e["maxCapacity()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 45faacfd_f4ee_014c_8e2b_2ea6fb6b907e bcb6f67a_6d39_74c4_4cf9_a498dfa3f041["readerIndex()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| bcb6f67a_6d39_74c4_4cf9_a498dfa3f041 418cb9f2_6464_aeda_dd2b_f49b6bc3bc70["writerIndex()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 418cb9f2_6464_aeda_dd2b_f49b6bc3bc70 adb18450_9e21_6b34_319e_353d24af2218["readableBytes()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| adb18450_9e21_6b34_319e_353d24af2218 c6cb02f8_6467_2383_bb98_1f15be84d585["writableBytes()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| c6cb02f8_6467_2383_bb98_1f15be84d585 643246d3_0195_796a_7e91_cf3f309c0196["maxWritableBytes()"] 594ebf45_898a_04a1_8c80_d110c3e4f07a -->|method| 643246d3_0195_796a_7e91_cf3f309c0196
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/EmptyByteBuf.java lines 40–1068
public final class EmptyByteBuf extends ByteBuf {
static final int EMPTY_BYTE_BUF_HASH_CODE = 1;
private static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.allocateDirect(0);
private static final long EMPTY_BYTE_BUFFER_ADDRESS;
static {
long emptyByteBufferAddress = 0;
try {
if (PlatformDependent.hasUnsafe()) {
emptyByteBufferAddress = PlatformDependent.directBufferAddress(EMPTY_BYTE_BUFFER);
}
} catch (Throwable t) {
// Ignore
}
EMPTY_BYTE_BUFFER_ADDRESS = emptyByteBufferAddress;
}
private final ByteBufAllocator alloc;
private final ByteOrder order;
private final String str;
private EmptyByteBuf swapped;
public EmptyByteBuf(ByteBufAllocator alloc) {
this(alloc, ByteOrder.BIG_ENDIAN);
}
private EmptyByteBuf(ByteBufAllocator alloc, ByteOrder order) {
this.alloc = ObjectUtil.checkNotNull(alloc, "alloc");
this.order = order;
str = StringUtil.simpleClassName(this) + (order == ByteOrder.BIG_ENDIAN? "BE" : "LE");
}
@Override
public int capacity() {
return 0;
}
@Override
public ByteBuf capacity(int newCapacity) {
throw new ReadOnlyBufferException();
}
@Override
public ByteBufAllocator alloc() {
return alloc;
}
@Override
public ByteOrder order() {
return order;
}
@Override
public ByteBuf unwrap() {
return null;
}
@Override
public ByteBuf asReadOnly() {
return Unpooled.unmodifiableBuffer(this);
}
@Override
public boolean isReadOnly() {
return false;
}
@Override
public boolean isDirect() {
return true;
}
@Override
public int maxCapacity() {
return 0;
}
@Override
public ByteBuf order(ByteOrder endianness) {
if (ObjectUtil.checkNotNull(endianness, "endianness") == order()) {
Source
Frequently Asked Questions
What is the EmptyByteBuf class?
EmptyByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/EmptyByteBuf.java.
Where is EmptyByteBuf defined?
EmptyByteBuf is defined in buffer/src/main/java/io/netty/buffer/EmptyByteBuf.java at line 40.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free