SpliceOutTask Class — netty Architecture
Architecture documentation for the SpliceOutTask class in AbstractEpollStreamChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7aa2d14f_5002_748c_af47_dd95afb75a76["SpliceOutTask"] 70734405_31fd_71db_63bc_2114f3b39591["AbstractEpollStreamChannel.java"] 7aa2d14f_5002_748c_af47_dd95afb75a76 -->|defined in| 70734405_31fd_71db_63bc_2114f3b39591 b7509f2a_dd40_06f2_0dc7_c50773120f9c["SpliceOutTask()"] 7aa2d14f_5002_748c_af47_dd95afb75a76 -->|method| b7509f2a_dd40_06f2_0dc7_c50773120f9c b5e0ce3a_dc95_3eb7_e031_00e22633d8c2["spliceOut()"] 7aa2d14f_5002_748c_af47_dd95afb75a76 -->|method| b5e0ce3a_dc95_3eb7_e031_00e22633d8c2
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollStreamChannel.java lines 965–997
private final class SpliceOutTask {
private final AbstractEpollStreamChannel ch;
private final boolean autoRead;
private int len;
SpliceOutTask(AbstractEpollStreamChannel ch, int len, boolean autoRead) {
this.ch = ch;
this.len = len;
this.autoRead = autoRead;
}
public boolean spliceOut() throws Exception {
assert ch.eventLoop().inEventLoop();
try {
int splicedOut = Native.splice(ch.pipeIn.intValue(), -1, ch.socket.intValue(), -1, len);
len -= splicedOut;
if (len == 0) {
if (autoRead) {
// AutoRead was used and we spliced everything so start reading again
config().setAutoRead(true);
}
return true;
}
return false;
} catch (IOException e) {
if (autoRead) {
// AutoRead was used and we spliced everything so start reading again
config().setAutoRead(true);
}
throw e;
}
}
}
Defined In
Source
Frequently Asked Questions
What is the SpliceOutTask class?
SpliceOutTask is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollStreamChannel.java.
Where is SpliceOutTask defined?
SpliceOutTask is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollStreamChannel.java at line 965.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free