Home / Class/ ReadOnlyByteBufferBuf Class — netty Architecture

ReadOnlyByteBufferBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  5273506a_32fb_bc2b_85cd_43b563e3f698["ReadOnlyByteBufferBuf"]
  17429ce3_692b_144d_dec0_e97e7cc00a03["ReadOnlyByteBufferBuf.java"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|defined in| 17429ce3_692b_144d_dec0_e97e7cc00a03
  ace3e1ce_4202_1dc5_3341_b7b5adfb6cd1["ReadOnlyByteBufferBuf()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| ace3e1ce_4202_1dc5_3341_b7b5adfb6cd1
  d379fe95_cfff_d2b3_b99d_c12735b86f31["deallocate()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| d379fe95_cfff_d2b3_b99d_c12735b86f31
  be6f2d1a_9ac8_ce3f_3409_526fe7e16b67["isWritable()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| be6f2d1a_9ac8_ce3f_3409_526fe7e16b67
  454d0618_b52f_b286_db1b_46eedf35b501["ByteBuf()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 454d0618_b52f_b286_db1b_46eedf35b501
  e877b15f_a1b9_6ea4_9c62_3449e024a238["ensureWritable()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| e877b15f_a1b9_6ea4_9c62_3449e024a238
  5fd9436c_4607_b664_4294_fd8bb68440cd["getByte()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 5fd9436c_4607_b664_4294_fd8bb68440cd
  100fb5bc_2a7b_60ec_c33f_b1bccb47c311["_getByte()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 100fb5bc_2a7b_60ec_c33f_b1bccb47c311
  c99a60c5_dc52_765e_1d59_74be61727c70["getShort()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| c99a60c5_dc52_765e_1d59_74be61727c70
  9ad552c8_3fd5_9a9a_673c_190326a1fdda["_getShort()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 9ad552c8_3fd5_9a9a_673c_190326a1fdda
  af01ba42_8bc8_0d92_2a4d_e39a91c9f1fc["getShortLE()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| af01ba42_8bc8_0d92_2a4d_e39a91c9f1fc
  657ab039_db8d_a362_e841_266210450377["_getShortLE()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 657ab039_db8d_a362_e841_266210450377
  570e6b85_3233_33a9_3bdd_4d1acc90f423["getUnsignedMedium()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| 570e6b85_3233_33a9_3bdd_4d1acc90f423
  c63fe1e4_a195_7693_4bfc_bd685d698392["_getUnsignedMedium()"]
  5273506a_32fb_bc2b_85cd_43b563e3f698 -->|method| c63fe1e4_a195_7693_4bfc_bd685d698392

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/ReadOnlyByteBufferBuf.java lines 34–653

class ReadOnlyByteBufferBuf extends AbstractReferenceCountedByteBuf {

    protected final ByteBuffer buffer;
    private final ByteBufAllocator allocator;
    private ByteBuffer tmpNioBuf;

    ReadOnlyByteBufferBuf(ByteBufAllocator allocator, ByteBuffer buffer) {
        super(buffer.remaining());
        if (!buffer.isReadOnly()) {
            throw new IllegalArgumentException("must be a readonly buffer: " + StringUtil.simpleClassName(buffer));
        }

        this.allocator = allocator;
        this.buffer = buffer.slice().order(ByteOrder.BIG_ENDIAN);
        writerIndex(this.buffer.limit());
    }

    @Override
    protected void deallocate() { }

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

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

    @Override
    public ByteBuf ensureWritable(int minWritableBytes) {
        throw new ReadOnlyBufferException();
    }

    @Override
    public int ensureWritable(int minWritableBytes, boolean force) {
        return 1;
    }

    @Override
    public byte getByte(int index) {
        ensureAccessible();
        return _getByte(index);
    }

    @Override
    protected byte _getByte(int index) {
        return buffer.get(index);
    }

    @Override
    public short getShort(int index) {
        ensureAccessible();
        return _getShort(index);
    }

    @Override
    protected short _getShort(int index) {
        return buffer.getShort(index);
    }

    @Override
    public short getShortLE(int index) {
        ensureAccessible();
        return _getShortLE(index);
    }

    @Override
    protected short _getShortLE(int index) {
        return ByteBufUtil.swapShort(buffer.getShort(index));
    }

    @Override
    public int getUnsignedMedium(int index) {
        ensureAccessible();
        return _getUnsignedMedium(index);
    }

    @Override
    protected int _getUnsignedMedium(int index) {

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free