Home / Function/ scheduleWriteSingle() — netty Function Reference

scheduleWriteSingle() — netty Function Reference

Architecture documentation for the scheduleWriteSingle() function in IoUringSocketChannel.java from the netty codebase.

Function java Buffer Search called by 1

Entity Profile

Dependency Diagram

graph TD
  0541f6f7_9dc8_a4dc_7c1b_35f3cba0416f["scheduleWriteSingle()"]
  e27b80ce_bfb2_8300_cc64_6e66bd077b74["IoUringSocketUnsafe"]
  0541f6f7_9dc8_a4dc_7c1b_35f3cba0416f -->|defined in| e27b80ce_bfb2_8300_cc64_6e66bd077b74
  9471c8f5_5044_ecfc_8b01_05388745f842["scheduleWriteMultiple()"]
  9471c8f5_5044_ecfc_8b01_05388745f842 -->|calls| 0541f6f7_9dc8_a4dc_7c1b_35f3cba0416f
  style 0541f6f7_9dc8_a4dc_7c1b_35f3cba0416f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringSocketChannel.java lines 85–106

        @Override
        protected int scheduleWriteSingle(Object msg) {
            assert writeId == 0;

            if (IoUring.isSendZcSupported() && msg instanceof ByteBuf) {
                ByteBuf buf = (ByteBuf) msg;
                int length = buf.readableBytes();
                if (((IoUringSocketChannelConfig) config()).shouldWriteZeroCopy(length)) {
                    long address = IoUring.memoryAddress(buf) + buf.readerIndex();
                    IoUringIoOps ops = IoUringIoOps.newSendZc(fd().intValue(), address, length, 0, nextOpsId(), 0);
                    byte opCode = ops.opcode();
                    writeId = registration().submit(ops);
                    writeOpCode = opCode;
                    if (writeId == 0) {
                        return 0;
                    }
                    return 1;
                }
                // Should not use send_zc, just use normal write.
            }
            return super.scheduleWriteSingle(msg);
        }

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free