netty如何在ChunkedWriteHandler发生写入后接收回调

时间:2012-12-11 16:28:49

标签: playframework netty

我们正在尝试让playframework中的tcp流量控制自动通过,这样备份的客户端就可以使用我们服务器上的资源通过我们的服务器向下游传递备份。要做到这一点,我们需要一个WriteCallback,所以我们知道当我们使用netty写一个块时,我们被告知实际写入块的时候。如果没有写入,则不会调用回调占用一点内存,但是在写入发生之前我们不再读取任何请求。

所以在playframework中,我看到这是在Netty ChunkedWriteHandler上调用的

chunkedWriteHandler.resumeTransfer();

我们真正需要的是传递一个回调,以便我们知道写完成的时间。有没有其他方法或任何方法可以轻松实现这一目标?也许,我可以暂时分叉netty并以某种方式添加回调,虽然这看起来非常复杂。任何想法都非常受欢迎。

感谢, 迪安

1 个答案:

答案 0 :(得分:1)

我不太了解playframework,但是在netty中,你在调用write(..)时会返回一个ChannelFuture。然后,您可以将ChannelFutureListener添加到ChannelFuture,以便在写入完成后收到通知。