PooledDirectByteBuf Class — netty Architecture
Architecture documentation for the PooledDirectByteBuf class in PooledDirectByteBuf.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0c356342_2e64_41e8_80a2_1d1923dc7709["PooledDirectByteBuf"] 752d0815_f2f5_0646_2b64_003adc93a0f5["PooledDirectByteBuf.java"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|defined in| 752d0815_f2f5_0646_2b64_003adc93a0f5 c227fdfd_52bc_8f11_aa9e_fc0ae03ba17c["PooledDirectByteBuf()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| c227fdfd_52bc_8f11_aa9e_fc0ae03ba17c fda5e1dc_dd49_4f01_c733_d7a2484a17f5["ByteBuffer()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| fda5e1dc_dd49_4f01_c733_d7a2484a17f5 682b0b58_9948_e4d8_092d_be713c2cf080["isDirect()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 682b0b58_9948_e4d8_092d_be713c2cf080 7031e651_8ce1_edf9_120e_d5f99d6f5f6c["_getByte()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 7031e651_8ce1_edf9_120e_d5f99d6f5f6c 6a24e0f7_4eaa_caf4_df8c_8f23e66a3cee["_getShort()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 6a24e0f7_4eaa_caf4_df8c_8f23e66a3cee 841d1af4_b363_7793_f7df_135ba6678e84["_getShortLE()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 841d1af4_b363_7793_f7df_135ba6678e84 f25308c9_4ea4_782e_3e27_ca434511c121["_getUnsignedMedium()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| f25308c9_4ea4_782e_3e27_ca434511c121 adee1abf_6278_3aa5_b6c6_d1fd05998069["_getUnsignedMediumLE()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| adee1abf_6278_3aa5_b6c6_d1fd05998069 8925fe24_ccf5_4e23_97d5_97571eeb39f1["_getInt()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 8925fe24_ccf5_4e23_97d5_97571eeb39f1 4baf0584_31d9_8501_c837_96008cf9cf43["_getIntLE()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 4baf0584_31d9_8501_c837_96008cf9cf43 6672ca48_1b08_4d9e_6c4b_e98c889c9a70["_getLong()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 6672ca48_1b08_4d9e_6c4b_e98c889c9a70 388471a1_32c7_7c4f_b033_9a1a1a9ca519["_getLongLE()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 388471a1_32c7_7c4f_b033_9a1a1a9ca519 16606b5d_4d53_ddb3_5511_6a39a4ae2037["ByteBuf()"] 0c356342_2e64_41e8_80a2_1d1923dc7709 -->|method| 16606b5d_4d53_ddb3_5511_6a39a4ae2037
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/PooledDirectByteBuf.java lines 27–322
final class PooledDirectByteBuf extends PooledByteBuf<ByteBuffer> {
private static final Recycler<PooledDirectByteBuf> RECYCLER =
new Recycler<PooledDirectByteBuf>() {
@Override
protected PooledDirectByteBuf newObject(Handle<PooledDirectByteBuf> handle) {
return new PooledDirectByteBuf(handle, 0);
}
};
static PooledDirectByteBuf newInstance(int maxCapacity) {
PooledDirectByteBuf buf = RECYCLER.get();
buf.reuse(maxCapacity);
return buf;
}
private PooledDirectByteBuf(Handle<PooledDirectByteBuf> recyclerHandle, int maxCapacity) {
super(recyclerHandle, maxCapacity);
}
@Override
protected ByteBuffer newInternalNioBuffer(ByteBuffer memory) {
return memory.duplicate();
}
@Override
public boolean isDirect() {
return true;
}
@Override
protected byte _getByte(int index) {
return memory.get(idx(index));
}
@Override
protected short _getShort(int index) {
return memory.getShort(idx(index));
}
@Override
protected short _getShortLE(int index) {
return ByteBufUtil.swapShort(_getShort(index));
}
@Override
protected int _getUnsignedMedium(int index) {
index = idx(index);
return (memory.get(index) & 0xff) << 16 |
(memory.get(index + 1) & 0xff) << 8 |
memory.get(index + 2) & 0xff;
}
@Override
protected int _getUnsignedMediumLE(int index) {
index = idx(index);
return memory.get(index) & 0xff |
(memory.get(index + 1) & 0xff) << 8 |
(memory.get(index + 2) & 0xff) << 16;
}
@Override
protected int _getInt(int index) {
return memory.getInt(idx(index));
}
@Override
protected int _getIntLE(int index) {
return ByteBufUtil.swapInt(_getInt(index));
}
@Override
protected long _getLong(int index) {
return memory.getLong(idx(index));
}
@Override
protected long _getLongLE(int index) {
return ByteBufUtil.swapLong(_getLong(index));
}
Source
Frequently Asked Questions
What is the PooledDirectByteBuf class?
PooledDirectByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PooledDirectByteBuf.java.
Where is PooledDirectByteBuf defined?
PooledDirectByteBuf is defined in buffer/src/main/java/io/netty/buffer/PooledDirectByteBuf.java at line 27.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free