Home / Function/ scheduleSendmsg() — netty Function Reference

scheduleSendmsg() — netty Function Reference

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

Function java Buffer Search called by 1

Entity Profile

Dependency Diagram

graph TD
  b8a7824c_8cd1_0faf_9968_e5da48b83ee6["scheduleSendmsg()"]
  84fa1210_78f7_d596_04d2_ce3b690b2252["IoUringDatagramChannelUnsafe"]
  b8a7824c_8cd1_0faf_9968_e5da48b83ee6 -->|defined in| 84fa1210_78f7_d596_04d2_ce3b690b2252
  2a343a6c_561d_38ec_1375_a3d1f1002378["scheduleWrite()"]
  2a343a6c_561d_38ec_1375_a3d1f1002378 -->|calls| b8a7824c_8cd1_0faf_9968_e5da48b83ee6
  style b8a7824c_8cd1_0faf_9968_e5da48b83ee6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

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

        private boolean scheduleSendmsg(InetSocketAddress remoteAddress, long bufferAddress,
                                        int bufferLength, int segmentSize, boolean first) {
            MsgHdrMemory hdr = sendmsgHdrs.nextHdr();
            if (hdr == null) {
                // There is no MsgHdrMemory left to use. We need to submit and wait for the writes to complete
                // before we can write again.
                return false;
            }
            hdr.set(socket, remoteAddress, bufferAddress, bufferLength, (short) segmentSize);

            int fd = fd().intValue();
            int msgFlags = first ? 0 : Native.MSG_DONTWAIT;
            IoRegistration registration = registration();
            IoUringIoOps ops = IoUringIoOps.newSendmsg(fd, (byte) 0, msgFlags, hdr.address(), hdr.idx());
            long id = registration.submit(ops);
            if (id == 0) {
                // Submission failed we don't used the MsgHdrMemory and so should give it back.
                sendmsgHdrs.restoreNextHdr(hdr);
                return false;
            }
            sendmsgHdrs.setId(hdr.idx(), id);
            return true;
        }

Domain

Subdomains

Called By

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free