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