我是netty的新手,正在尝试理解writeAndFlush方法的channel future如何工作。考虑在netty客户端上运行以下代码:
final ChannelFuture writeFuture = abacaChannel.writeAndFlush("Test");
writeFuture.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (writeFuture.isSuccess()) {
LOGGER.debug("Write successful");
} else {
LOGGER.error("Error writing message to Abaca host");
}
}
});
这个 writeFuture 的 operationComplete 回调函数是在什么时候被执行的?
在 netty 将数据交给操作系统的发送缓冲区后(或者)
在操作系统将数据写入网络套接字之后。(或者)
在服务器实际接收到这些数据之后。
TIA