Netty 4x中的Channel.setInterestOps在哪里

时间:2014-07-22 13:36:38

标签: java netty

我正在使用netty来开发我的服务器。 我正在寻找为通道设置setInterestOps。 在netty 3中,Channel类中有一个方法调用setInterestOps。 但在netty 4中我找不到它。 谁能告诉我它在哪里?

谢谢

2 个答案:

答案 0 :(得分:2)

Netty 3中的

Channel.setInterestOps()用于暂停或恢复Netty Channel的读取操作。它的名称和机制是不必要的低级别,因此我们改变了处理暂停和恢复入站流量的方式。

首先,我们添加了一个名为read()的新出站操作。调用read()时,Netty会读入一次入站流量,并且会触发至少一个channelRead()事件和一个channelReadComplete()事件。通常,您可以通过在ctx.read()中调用channelReadComplete()继续阅读。

但是,由于必须为每个ctx.read()调用channelReadComplete()并不是很有趣,因此Netty有一个名为autoRead的选项,默认情况下会启用该选项。启用autoRead后,Netty会自动触发每read()channelReadComplete()次操作。

因此,如果要暂停入站流量,您只需关闭autoRead选项即可。要恢复,请将其重新打开。

答案 1 :(得分:1)

使用Channel.config()。setAutoRead(true / false);