Home / Class/ ReadOnlyByteBuf Class — netty Architecture

ReadOnlyByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  a8231148_33c3_9fcb_ddcf_3c990925c3e4["ReadOnlyByteBuf"]
  c8dab446_f995_032f_c632_dbba6586b92a["ReadOnlyByteBuf.java"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|defined in| c8dab446_f995_032f_c632_dbba6586b92a
  b749eadf_d842_f86f_4010_fe01e3c88cb6["ReadOnlyByteBuf()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| b749eadf_d842_f86f_4010_fe01e3c88cb6
  6ee56f9b_48b4_e2e8_531d_288575075dc9["isReadOnly()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 6ee56f9b_48b4_e2e8_531d_288575075dc9
  04317b2c_52ea_3d3d_4a80_79a20393d179["isWritable()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 04317b2c_52ea_3d3d_4a80_79a20393d179
  1f8d52c6_120b_b55c_4f1e_e6e4e9439b27["ensureWritable()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 1f8d52c6_120b_b55c_4f1e_e6e4e9439b27
  5b622d26_a1ab_819e_375f_1bcce795706b["ByteBuf()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 5b622d26_a1ab_819e_375f_1bcce795706b
  f6e56ed6_b313_f187_bbc5_4798ff49ec06["ByteBufAllocator()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| f6e56ed6_b313_f187_bbc5_4798ff49ec06
  b79b1c86_a3de_795c_15fd_12c498e687c6["ByteOrder()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| b79b1c86_a3de_795c_15fd_12c498e687c6
  376a5e7f_e1c6_ac47_e916_581fb5f48f09["isDirect()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 376a5e7f_e1c6_ac47_e916_581fb5f48f09
  a90ccc8f_c624_4b80_4e1e_9607f5ca6a0d["hasArray()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| a90ccc8f_c624_4b80_4e1e_9607f5ca6a0d
  409c9bdf_5811_168f_aa3a_e12bc0d6f436["array()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 409c9bdf_5811_168f_aa3a_e12bc0d6f436
  67b2bf8b_9cdc_6bf3_3b92_ad2773c1b52f["arrayOffset()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 67b2bf8b_9cdc_6bf3_3b92_ad2773c1b52f
  3383d24c_50b9_f0d8_3797_66f8f49b4be2["hasMemoryAddress()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| 3383d24c_50b9_f0d8_3797_66f8f49b4be2
  f906ac35_5a2a_3f48_1260_afc327ef8575["memoryAddress()"]
  a8231148_33c3_9fcb_ddcf_3c990925c3e4 -->|method| f906ac35_5a2a_3f48_1260_afc327ef8575

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java lines 37–437

@Deprecated
public class ReadOnlyByteBuf extends AbstractDerivedByteBuf {

    private final ByteBuf buffer;

    public ReadOnlyByteBuf(ByteBuf buffer) {
        super(buffer.maxCapacity());

        if (buffer instanceof ReadOnlyByteBuf || buffer instanceof DuplicatedByteBuf) {
            this.buffer = buffer.unwrap();
        } else {
            this.buffer = buffer;
        }
        setIndex(buffer.readerIndex(), buffer.writerIndex());
    }

    @Override
    public boolean isReadOnly() {
        return true;
    }

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

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

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

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

    @Override
    public ByteBuf unwrap() {
        return buffer;
    }

    @Override
    public ByteBufAllocator alloc() {
        return unwrap().alloc();
    }

    @Override
    @Deprecated
    public ByteOrder order() {
        return unwrap().order();
    }

    @Override
    public boolean isDirect() {
        return unwrap().isDirect();
    }

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

    @Override
    public byte[] array() {
        throw new ReadOnlyBufferException();
    }

    @Override
    public int arrayOffset() {
        throw new ReadOnlyBufferException();
    }

    @Override
    public boolean hasMemoryAddress() {
        return unwrap().hasMemoryAddress();
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free