Home / Function/ scheduleWrite() — netty Function Reference

scheduleWrite() — netty Function Reference

Architecture documentation for the scheduleWrite() function in AbstractIoUringChannel.java from the netty codebase.

Function java Buffer Telemetry calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  70e16973_1018_2049_9dc7_91d0f4938172["scheduleWrite()"]
  9a4cac3b_00a7_737a_49b1_42ae60ccb637["AbstractIoUringChannel"]
  70e16973_1018_2049_9dc7_91d0f4938172 -->|defined in| 9a4cac3b_00a7_737a_49b1_42ae60ccb637
  adbff36e_3fab_adc8_b02f_f7c4cd0323d6["scheduleWriteIfNeeded()"]
  adbff36e_3fab_adc8_b02f_f7c4cd0323d6 -->|calls| 70e16973_1018_2049_9dc7_91d0f4938172
  ffeff3ed_8ff3_e79f_18d3_0a6c793736fb["scheduleWriteMultiple()"]
  70e16973_1018_2049_9dc7_91d0f4938172 -->|calls| ffeff3ed_8ff3_e79f_18d3_0a6c793736fb
  16ff8d66_a417_f95c_164f_de86030ce50d["scheduleWriteSingle()"]
  70e16973_1018_2049_9dc7_91d0f4938172 -->|calls| 16ff8d66_a417_f95c_164f_de86030ce50d
  style 70e16973_1018_2049_9dc7_91d0f4938172 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/AbstractIoUringChannel.java lines 373–399

    private int scheduleWrite(ChannelOutboundBuffer in) {
        if (delayedClose != null || numOutstandingWrites == Short.MAX_VALUE) {
            return 0;
        }
        if (in == null) {
            return 0;
        }

        int msgCount = in.size();
        if (msgCount == 0) {
            return 0;
        }
        Object msg = in.current();

        if (msgCount > 1 && in.current() instanceof ByteBuf) {
            numOutstandingWrites = (short) ioUringUnsafe().scheduleWriteMultiple(in);
        } else if (msg instanceof ByteBuf && ((ByteBuf) msg).nioBufferCount() > 1 ||
                    (msg instanceof ByteBufHolder && ((ByteBufHolder) msg).content().nioBufferCount() > 1)) {
            // We also need some special handling for CompositeByteBuf
            numOutstandingWrites = (short) ioUringUnsafe().scheduleWriteMultiple(in);
        } else {
            numOutstandingWrites = (short) ioUringUnsafe().scheduleWriteSingle(msg);
        }
        // Ensure we never overflow
        assert numOutstandingWrites > 0;
        return numOutstandingWrites;
    }

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free