Netty:禁用自动读取不适用于 `ByteToMessageDecoder`?
Netty: Disabling auto-read doesn't work for `ByteToMessageDecoder`?
我正在使用 Maven Central 的 4.1.0.Final。
在我的应用程序中,我在某个点后禁用自动读取,如下所示:
channel.config().setIsAutoRead(false);
我没有对 read
进行任何调用,但我的应用程序仍在读取。在我的管道中只有一个 ByteToMessageDecoder
,我的(可共享的)初始化程序是我的服务器 bootstrap 的子处理程序。
这是为什么?不能即时禁用自动读取吗?这是一个错误吗?
如果您的管道中有一个 ByteToMessageDecoder,它将继续读取,直到您将一个对象放入解码方法的输出列表中。这是因为否则用户可能永远没有机会自己调用 read()。
FlowControlHandler 是最近添加的,在这方面可能会有用。
我正在使用 Maven Central 的 4.1.0.Final。
在我的应用程序中,我在某个点后禁用自动读取,如下所示:
channel.config().setIsAutoRead(false);
我没有对 read
进行任何调用,但我的应用程序仍在读取。在我的管道中只有一个 ByteToMessageDecoder
,我的(可共享的)初始化程序是我的服务器 bootstrap 的子处理程序。
这是为什么?不能即时禁用自动读取吗?这是一个错误吗?
如果您的管道中有一个 ByteToMessageDecoder,它将继续读取,直到您将一个对象放入解码方法的输出列表中。这是因为否则用户可能永远没有机会自己调用 read()。
FlowControlHandler 是最近添加的,在这方面可能会有用。