在不久的将来完成后,Netty管道是否仍能正常工作?

时间:2018-03-09 03:38:24

标签: netty

在我们的Netty客户端中,有些情况我们称之为:

channel.closeFuture().sync();

在完成后,我们会看到更多数据进入我们的处理程序之一。我们编写了一个Http2ConnectionHandler,即使在这个结束的未来完成之后,该处理程序也会接收数据。

我的问题是:关闭的未来何时完成,管道可以完成更多的工作?

解答: 是的,接近未来的火灾,然后管道被拆除,正如诺曼在下面所说的那样。

2 个答案:

答案 0 :(得分:1)

一旦关闭频道,更具体,ChannelPipeline应该被拆除,这意味着将删除所有处理程序,并且将调用每个handlerRemoved的{​​{1}}。

答案 1 :(得分:0)

当底层通道(在HTTP / 2情况下,TCP / IP连接)关闭时,将触发closeFuture()。这可能是因为您或远程对等方关闭了连接。与封闭通道关联的Netty管道不应再接收任何数据。明确地读取/写入封闭的通道将引发异常。