Netty:什么时候writeAndFlush通道将来的侦听器回调被执行?

时间:2016-04-15 05:25:17

标签: callback netty

我是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回调是什么时候执行的?

  1. netty将数据移交给OS发送缓冲区(或)

  2. 操作系统将数据写入网络套接字后。 (或)

  3. 服务器实际收到此数据后。

  4. TIA

1 个答案:

答案 0 :(得分:2)

1. After netty hands over the data to the OS send buffers (or)

dataChannelOutboundBuffer(netty的发送缓冲区)中删除后,将通知监听器