我是netty的新手,并试图了解writeAndFlush的通道未来如何工作.考虑在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将数据移交给OS发送缓冲区(或)
>操作系统将数据写入网络套接字后. (要么)
>此数据实际上是由服务器接收的.
TIA
最佳答案
1. After netty hands over the data to the OS send buffers (or)
从ChannelOutboundBuffer(netty的发送缓冲区)中删除数据后,将通知监听器