scheduleWrite() — netty Function Reference
Architecture documentation for the scheduleWrite() function in AbstractIoUringChannel.java from the netty codebase.
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
Defined In
Called By
Source
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