scheduleRecvmsg0() — netty Function Reference
Architecture documentation for the scheduleRecvmsg0() function in IoUringDatagramChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD e300f4b4_c3de_e00d_8d51_49f63f0c8d92["scheduleRecvmsg0()"] 84fa1210_78f7_d596_04d2_ce3b690b2252["IoUringDatagramChannelUnsafe"] e300f4b4_c3de_e00d_8d51_49f63f0c8d92 -->|defined in| 84fa1210_78f7_d596_04d2_ce3b690b2252 002f14bf_467b_81db_b4c4_3c6c831693f3["scheduleRecvmsg()"] 002f14bf_467b_81db_b4c4_3c6c831693f3 -->|calls| e300f4b4_c3de_e00d_8d51_49f63f0c8d92 d3789b6f_ecb7_8b61_ce80_a4927993c3f5["readComplete0()"] e300f4b4_c3de_e00d_8d51_49f63f0c8d92 -->|calls| d3789b6f_ecb7_8b61_ce80_a4927993c3f5 style e300f4b4_c3de_e00d_8d51_49f63f0c8d92 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java lines 512–535
private boolean scheduleRecvmsg0(long bufferAddress, int bufferLength, boolean first) {
MsgHdrMemory msgHdrMemory = recvmsgHdrs.nextHdr();
if (msgHdrMemory == null) {
// We can not continue reading before we did not submit the recvmsg(s) and received the results.
return false;
}
msgHdrMemory.set(socket, null, bufferAddress, bufferLength, (short) 0);
int fd = fd().intValue();
int msgFlags = first ? 0 : Native.MSG_DONTWAIT;
IoRegistration registration = registration();
// We always use idx here so we can detect if no idx was used by checking if data < 0 in
// readComplete0(...)
IoUringIoOps ops = IoUringIoOps.newRecvmsg(
fd, (byte) 0, msgFlags, msgHdrMemory.address(), msgHdrMemory.idx());
long id = registration.submit(ops);
if (id == 0) {
// Submission failed we don't used the MsgHdrMemory and so should give it back.
recvmsgHdrs.restoreNextHdr(msgHdrMemory);
return false;
}
recvmsgHdrs.setId(msgHdrMemory.idx(), id);
return true;
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does scheduleRecvmsg0() do?
scheduleRecvmsg0() is a function in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java.
Where is scheduleRecvmsg0() defined?
scheduleRecvmsg0() is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java at line 512.
What does scheduleRecvmsg0() call?
scheduleRecvmsg0() calls 1 function(s): readComplete0.
What calls scheduleRecvmsg0()?
scheduleRecvmsg0() is called by 1 function(s): scheduleRecvmsg.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free