EpollRecvByteAllocatorHandle Class — netty Architecture
Architecture documentation for the EpollRecvByteAllocatorHandle class in EpollRecvByteAllocatorHandle.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 91ea2771_32d4_d38b_ffb1_4fc382694d1e["EpollRecvByteAllocatorHandle"] 0a20b53b_8348_87c4_cf97_ad9b48f679fb["EpollRecvByteAllocatorHandle.java"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|defined in| 0a20b53b_8348_87c4_cf97_ad9b48f679fb 745dc442_b879_fae9_c2d5_2bb9e5fbbf08["EpollRecvByteAllocatorHandle()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| 745dc442_b879_fae9_c2d5_2bb9e5fbbf08 99e785e3_302d_49dd_176d_d988c6794b8c["receivedRdHup()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| 99e785e3_302d_49dd_176d_d988c6794b8c 713a51f0_728d_9467_bc3b_8faba049e9f2["isReceivedRdHup()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| 713a51f0_728d_9467_bc3b_8faba049e9f2 ddb0cdff_ef6e_8c7d_cfcd_905a1308b5cc["maybeMoreDataToRead()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| ddb0cdff_ef6e_8c7d_cfcd_905a1308b5cc d6295002_5fb6_0dbf_f4e3_c556e34aca58["ByteBuf()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| d6295002_5fb6_0dbf_f4e3_c556e34aca58 988fb0fa_f791_b0d0_74f9_a4ae21eece56["continueReading()"] 91ea2771_32d4_d38b_ffb1_4fc382694d1e -->|method| 988fb0fa_f791_b0d0_74f9_a4ae21eece56
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollRecvByteAllocatorHandle.java lines 25–69
class EpollRecvByteAllocatorHandle extends DelegatingHandle implements ExtendedHandle {
private final PreferredDirectByteBufAllocator preferredDirectByteBufAllocator =
new PreferredDirectByteBufAllocator();
private final UncheckedBooleanSupplier defaultMaybeMoreDataSupplier = new UncheckedBooleanSupplier() {
@Override
public boolean get() {
return maybeMoreDataToRead();
}
};
private boolean receivedRdHup;
EpollRecvByteAllocatorHandle(ExtendedHandle handle) {
super(handle);
}
final void receivedRdHup() {
receivedRdHup = true;
}
final boolean isReceivedRdHup() {
return receivedRdHup;
}
boolean maybeMoreDataToRead() {
return lastBytesRead() == attemptedBytesRead();
}
@Override
public final ByteBuf allocate(ByteBufAllocator alloc) {
// We need to ensure we always allocate a direct ByteBuf as we can only use a direct buffer to read via JNI.
preferredDirectByteBufAllocator.updateAllocator(alloc);
return delegate().allocate(preferredDirectByteBufAllocator);
}
@Override
public final boolean continueReading(UncheckedBooleanSupplier maybeMoreDataSupplier) {
return isReceivedRdHup() || ((ExtendedHandle) delegate()).continueReading(maybeMoreDataSupplier);
}
@Override
public final boolean continueReading() {
// We must override the supplier which determines if there maybe more data to read.
return continueReading(defaultMaybeMoreDataSupplier);
}
}
Defined In
Source
Frequently Asked Questions
What is the EpollRecvByteAllocatorHandle class?
EpollRecvByteAllocatorHandle is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollRecvByteAllocatorHandle.java.
Where is EpollRecvByteAllocatorHandle defined?
EpollRecvByteAllocatorHandle is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollRecvByteAllocatorHandle.java at line 25.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free