PooledUnsafeDirectByteBuf Class — netty Architecture
Architecture documentation for the PooledUnsafeDirectByteBuf class in PooledUnsafeDirectByteBuf.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD de255534_6787_b710_5b1f_d1e669f25a0d["PooledUnsafeDirectByteBuf"] c1d39692_4799_4158_3eb3_e3d49493c25f["PooledUnsafeDirectByteBuf.java"] de255534_6787_b710_5b1f_d1e669f25a0d -->|defined in| c1d39692_4799_4158_3eb3_e3d49493c25f 32e7d41d_350f_03a7_02d0_6146628cfb5d["PooledUnsafeDirectByteBuf()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 32e7d41d_350f_03a7_02d0_6146628cfb5d 1dd27ab0_c883_a0b8_a1fb_ac511066bc5d["init()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 1dd27ab0_c883_a0b8_a1fb_ac511066bc5d 86af3079_6e81_4d88_8894_26485c76b971["initUnpooled()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 86af3079_6e81_4d88_8894_26485c76b971 b28545a2_7bc0_b3a1_19e4_2a828b7b5e79["initMemoryAddress()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| b28545a2_7bc0_b3a1_19e4_2a828b7b5e79 c89ee588_1555_3307_394a_463a7dab5a3f["ByteBuffer()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| c89ee588_1555_3307_394a_463a7dab5a3f 1db4b85b_55b0_1b94_086d_f2a3b90772df["isDirect()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 1db4b85b_55b0_1b94_086d_f2a3b90772df 19bac3c2_e3c5_4aa9_48a6_22f9e325a3a5["_getByte()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 19bac3c2_e3c5_4aa9_48a6_22f9e325a3a5 98ca945c_4113_61f2_0ab0_688588ea2fdb["_getShort()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 98ca945c_4113_61f2_0ab0_688588ea2fdb c31d96c6_ffe2_831a_ffb5_d4c369937e26["_getShortLE()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| c31d96c6_ffe2_831a_ffb5_d4c369937e26 e0c0b3e9_d16c_790a_4a4a_c678797bc59b["_getUnsignedMedium()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| e0c0b3e9_d16c_790a_4a4a_c678797bc59b f5b48b46_c9ec_29ad_badd_22fc2a0cf300["_getUnsignedMediumLE()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| f5b48b46_c9ec_29ad_badd_22fc2a0cf300 0faf0cb3_590b_151e_785e_b5d70c114764["_getInt()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| 0faf0cb3_590b_151e_785e_b5d70c114764 e5701a4a_0c91_3ffb_a1cc_a0755e625a89["_getIntLE()"] de255534_6787_b710_5b1f_d1e669f25a0d -->|method| e5701a4a_0c91_3ffb_a1cc_a0755e625a89
Relationship Graph
Source Code
buffer/src/main/java/io/netty/buffer/PooledUnsafeDirectByteBuf.java lines 28–278
final class PooledUnsafeDirectByteBuf extends PooledByteBuf<ByteBuffer> {
private static final Recycler<PooledUnsafeDirectByteBuf> RECYCLER =
new Recycler<PooledUnsafeDirectByteBuf>() {
@Override
protected PooledUnsafeDirectByteBuf newObject(Handle<PooledUnsafeDirectByteBuf> handle) {
return new PooledUnsafeDirectByteBuf(handle, 0);
}
};
static PooledUnsafeDirectByteBuf newInstance(int maxCapacity) {
PooledUnsafeDirectByteBuf buf = RECYCLER.get();
buf.reuse(maxCapacity);
return buf;
}
private long memoryAddress;
private PooledUnsafeDirectByteBuf(Handle<PooledUnsafeDirectByteBuf> recyclerHandle, int maxCapacity) {
super(recyclerHandle, maxCapacity);
}
@Override
void init(PoolChunk<ByteBuffer> chunk, ByteBuffer nioBuffer,
long handle, int offset, int length, int maxLength, PoolThreadCache cache, boolean threadLocal) {
super.init(chunk, nioBuffer, handle, offset, length, maxLength, cache, threadLocal);
initMemoryAddress();
}
@Override
void initUnpooled(PoolChunk<ByteBuffer> chunk, int length) {
super.initUnpooled(chunk, length);
initMemoryAddress();
}
private void initMemoryAddress() {
memoryAddress = PlatformDependent.directBufferAddress(memory) + offset;
}
@Override
protected ByteBuffer newInternalNioBuffer(ByteBuffer memory) {
return memory.duplicate();
}
@Override
public boolean isDirect() {
return true;
}
@Override
protected byte _getByte(int index) {
return UnsafeByteBufUtil.getByte(addr(index));
}
@Override
protected short _getShort(int index) {
return UnsafeByteBufUtil.getShort(addr(index));
}
@Override
protected short _getShortLE(int index) {
return UnsafeByteBufUtil.getShortLE(addr(index));
}
@Override
protected int _getUnsignedMedium(int index) {
return UnsafeByteBufUtil.getUnsignedMedium(addr(index));
}
@Override
protected int _getUnsignedMediumLE(int index) {
return UnsafeByteBufUtil.getUnsignedMediumLE(addr(index));
}
@Override
protected int _getInt(int index) {
return UnsafeByteBufUtil.getInt(addr(index));
}
@Override
protected int _getIntLE(int index) {
Source
Frequently Asked Questions
What is the PooledUnsafeDirectByteBuf class?
PooledUnsafeDirectByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/PooledUnsafeDirectByteBuf.java.
Where is PooledUnsafeDirectByteBuf defined?
PooledUnsafeDirectByteBuf is defined in buffer/src/main/java/io/netty/buffer/PooledUnsafeDirectByteBuf.java at line 28.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free