ChannelOption.AUTO_READ和GlobalChannelTrafficShapingHandler

时间:2016-05-25 23:55:36

标签: netty

我注意到,如果AUTO_READ设置为false,GlobalChannelTrafficShapingHandler将不会限制流量。但是从这个帖子Why Netty 4 "proxy" example has to set channel "AUTO_READ" as false的评论来看,Norman提到AUTO_READ false设置为阻止OOME。我想可以看出为什么控制网络可以填满缓冲区并导致OOME。

当我们启用流量整形时,我们必须处理这种情况或者只是一种权衡吗?

此致

1 个答案:

答案 0 :(得分:0)

当auto_read为false时,写限制正常,读限制运行不正常。 如果要开发代理服务器,则可以将GlobalChannelTrafficShapingHandler设置为代理的另一个输出。 像这样的代码:

GlobalChannelTrafficShapingHandler gtsh = <server’s gtsh>
another_ctx.pipeline().addFirst(gtsh)