Home / Function/ scheduleRecvmsg() — netty Function Reference

scheduleRecvmsg() — netty Function Reference

Architecture documentation for the scheduleRecvmsg() function in IoUringDatagramChannel.java from the netty codebase.

Function java Buffer Search calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  002f14bf_467b_81db_b4c4_3c6c831693f3["scheduleRecvmsg()"]
  84fa1210_78f7_d596_04d2_ce3b690b2252["IoUringDatagramChannelUnsafe"]
  002f14bf_467b_81db_b4c4_3c6c831693f3 -->|defined in| 84fa1210_78f7_d596_04d2_ce3b690b2252
  f0afd207_cffb_c246_72a5_ffe39ea4cfc9["scheduleRead0()"]
  f0afd207_cffb_c246_72a5_ffe39ea4cfc9 -->|calls| 002f14bf_467b_81db_b4c4_3c6c831693f3
  e300f4b4_c3de_e00d_8d51_49f63f0c8d92["scheduleRecvmsg0()"]
  002f14bf_467b_81db_b4c4_3c6c831693f3 -->|calls| e300f4b4_c3de_e00d_8d51_49f63f0c8d92
  style 002f14bf_467b_81db_b4c4_3c6c831693f3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java lines 494–510

        private int scheduleRecvmsg(ByteBuf byteBuf, int numDatagram, int datagramSize) {
            int writable = byteBuf.writableBytes();
            long bufferAddress = IoUring.memoryAddress(byteBuf) + byteBuf.writerIndex();
            if (numDatagram <= 1) {
                return scheduleRecvmsg0(bufferAddress, writable, true) ? 1 : 0;
            }
            int i = 0;
            // Add multiple IORING_OP_RECVMSG to the submission queue. This basically emulates recvmmsg(...)
            for (; i < numDatagram && writable >= datagramSize; i++) {
                if (!scheduleRecvmsg0(bufferAddress, datagramSize, i == 0)) {
                    break;
                }
                bufferAddress += datagramSize;
                writable -= datagramSize;
            }
            return i;
        }

Domain

Subdomains

Called By

Frequently Asked Questions

What does scheduleRecvmsg() do?
scheduleRecvmsg() is a function in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java.
Where is scheduleRecvmsg() defined?
scheduleRecvmsg() is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannel.java at line 494.
What does scheduleRecvmsg() call?
scheduleRecvmsg() calls 1 function(s): scheduleRecvmsg0.
What calls scheduleRecvmsg()?
scheduleRecvmsg() is called by 1 function(s): scheduleRead0.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free