doWrite() — netty Function Reference
Architecture documentation for the doWrite() function in AbstractNioMessageChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD b39d151a_1b5e_b4c9_00be_5f3fea45bd5e["doWrite()"] 3260bc77_49cf_96c1_baa9_dd1de8d3603d["AbstractNioMessageChannel"] b39d151a_1b5e_b4c9_00be_5f3fea45bd5e -->|defined in| 3260bc77_49cf_96c1_baa9_dd1de8d3603d 5ee130a6_7b77_fff4_473e_feb1f2786d0f["doWriteMessage()"] b39d151a_1b5e_b4c9_00be_5f3fea45bd5e -->|calls| 5ee130a6_7b77_fff4_473e_feb1f2786d0f a859d149_53dc_be2e_3b04_8abd3f6e153e["continueOnWriteError()"] b39d151a_1b5e_b4c9_00be_5f3fea45bd5e -->|calls| a859d149_53dc_be2e_3b04_8abd3f6e153e style b39d151a_1b5e_b4c9_00be_5f3fea45bd5e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/nio/AbstractNioMessageChannel.java lines 132–171
@Override
protected void doWrite(ChannelOutboundBuffer in) throws Exception {
int maxMessagesPerWrite = maxMessagesPerWrite();
while (maxMessagesPerWrite > 0) {
Object msg = in.current();
if (msg == null) {
break;
}
try {
boolean done = false;
for (int i = config().getWriteSpinCount() - 1; i >= 0; i--) {
if (doWriteMessage(msg, in)) {
done = true;
break;
}
}
if (done) {
maxMessagesPerWrite--;
in.remove();
} else {
break;
}
} catch (Exception e) {
if (continueOnWriteError()) {
maxMessagesPerWrite--;
in.remove(e);
} else {
throw e;
}
}
}
if (in.isEmpty()) {
// Wrote all messages.
removeAndSubmit(NioIoOps.WRITE);
} else {
// Did not write all messages.
addAndSubmit(NioIoOps.WRITE);
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does doWrite() do?
doWrite() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/nio/AbstractNioMessageChannel.java.
Where is doWrite() defined?
doWrite() is defined in transport/src/main/java/io/netty/channel/nio/AbstractNioMessageChannel.java at line 132.
What does doWrite() call?
doWrite() calls 2 function(s): continueOnWriteError, doWriteMessage.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free