Home / Class/ EmptyByteBuf Class — netty Architecture

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()) {

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