scheduleRead0() — netty Function Reference
Architecture documentation for the scheduleRead0() function in IoUringDatagramChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f0afd207_cffb_c246_72a5_ffe39ea4cfc9["scheduleRead0()"] 84fa1210_78f7_d596_04d2_ce3b690b2252["IoUringDatagramChannelUnsafe"] f0afd207_cffb_c246_72a5_ffe39ea4cfc9 -->|defined in| 84fa1210_78f7_d596_04d2_ce3b690b2252 002f14bf_467b_81db_b4c4_3c6c831693f3["scheduleRecvmsg()"] f0afd207_cffb_c246_72a5_ffe39ea4cfc9 -->|calls| 002f14bf_467b_81db_b4c4_3c6c831693f3 style f0afd207_cffb_c246_72a5_ffe39ea4cfc9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java lines 471–492
@Override
protected int scheduleRead0(boolean first, boolean socketIsEmpty) {
final IoUringRecvByteAllocatorHandle allocHandle = recvBufAllocHandle();
ByteBuf byteBuf = allocHandle.allocate(alloc());
assert readBuffer == null;
readBuffer = byteBuf;
int writable = byteBuf.writableBytes();
allocHandle.attemptedBytesRead(writable);
int datagramSize = ((IoUringDatagramChannelConfig) config()).getMaxDatagramPayloadSize();
int numDatagram = datagramSize == 0 ? 1 : Math.max(1, byteBuf.writableBytes() / datagramSize);
int scheduled = scheduleRecvmsg(byteBuf, numDatagram, datagramSize);
if (scheduled == 0) {
// We could not schedule any recvmmsg so we need to release the buffer as there will be no
// completion event.
readBuffer = null;
byteBuf.release();
}
return scheduled;
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does scheduleRead0() do?
scheduleRead0() is a function in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java.
Where is scheduleRead0() defined?
scheduleRead0() is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java at line 471.
What does scheduleRead0() call?
scheduleRead0() calls 1 function(s): scheduleRecvmsg.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free