我想从 netty 确认在我关闭连接之前发生了读取事件。它是否实际以字节为单位读取或发生错误都没有关系。
通过挖掘 netty 代码,我不相信以下保证操作顺序:
channel.read();
channel.close();
由于读取事件不是 netty 事件循环中的“任务”,因此关闭任务可能会在读取事件之前执行。
没有可以使用的“阅读未来”。所以我的问题是:保证在关闭通道之前发生读取事件的最佳方法是什么?”
如果使用自动读取:如果 netty 当前在它的任务循环中通过网络写入数据,并且我们调用 channel.close() 将发生读取操作还是会先发生关闭?