Netty 4.0.0.Beta1 ChannelHandlerContext.readable(boolean)消失了,需要更换

时间:2013-02-17 19:36:06

标签: netty

在netty 4.0.0.AlphaX中有ChannelHandlerContext.readable(boolean)方法来暂停传入流量。 4.0.0.Beta1的新文档仍然说:

  

在4.0中,每个ChannelHandler在其ChannelHandlerContext中都有自己的布尔标志,称为“可读”。该标志告诉处理程序是否希望Netty读取入站流量。

问题:可读(布尔)方法消失了,现在我只能找到ChannelHandlerContext.fireChannelReadSuspended()方法。恢复流量怎么样?

有没有人知道如何在Beta1升级后暂停/恢复netty 4管道上的传入流量?

谢谢。

N.B。:“代理”示例仍有TODO:

// TODO: Suspend incoming traffic until connected to the remote host.
//       Currently, we just keep the inbound traffic in the client channel's outbound buffer.

1 个答案:

答案 0 :(得分:1)

您现在可以使用ChannelOption.AUTO_READ。如果你想暂停并在想要再次自动重新开始读取时将其设置为true,只需在Channel的ChannelConfig上将其设置为false。

你甚至可以通过一直触发读取来进一步操作,这有助于在编写代理示例时将内存占用量保持在最低限度。我今天早上更新了代理示例[1],以显示这一点。

[1] https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/proxy