在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.
答案 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