【问题标题】:javadoc of org.jboss.netty.channel.Channel section of InterestOps and Files summary is wrong or no?InterestOps 和 Files 摘要的 org.jboss.netty.channel.Channel 部分的 javadoc 是否错误?
【发布时间】:2014-01-13 00:49:39
【问题描述】:

在netty(http://www.Netty.io)框架中,org.jboss.netty.channel.Channel的类路径 有一些 InterestOps 字段 (OP_NONE,OP_READ,OP_READ_WRITE,OP_WRITE)
这些字段的详细信息在 javadoc
链接:http://netty.io/3.9/api/org/jboss/netty/channel/Channel.html

OP_READ - 如果设置,将立即读取远程对等方发送的消息。如果未设置,则在再次设置 OP_READ 标志(即读取暂停)之前不会读取来自远程对等方的消息。
OP_WRITE - 如果设置,写入请求将不会发送到远程对等点,直到 OP_WRITE 标志被清除并且写入请求将在队列中挂起。如果未设置,写入请求将尽快从队列中清除。
OP_READ_WRITE - 这是 OP_READ 和 OP_WRITE 的组合,这意味着只有写入请求被暂停。
OP_NONE - 这是 (NOT OP_READ) 和 (NOT OP_WRITE) 的组合,表示仅暂停读取操作。

第一次解释是正常且合乎逻辑的,但此字段在字段摘要部分再次解释:

OP_NONE表示只有读取操作已暂停的interestOps值。
OP_READ表示读取和写入操作均未暂停的interestOps值。
OP_READ_WRITE表示只有写操作被暂停的interestOps值。
OP_WRITE表示读和写操作都被暂停的interestOps值。

我认为所有第二个解释都与所有第一个解释不匹配,这是类型错误还是合乎逻辑??

【问题讨论】:

  • 这对我来说没有任何意义,但我不是 Netty 专家,也不是粉丝。对于 OP_READ 和 OP_WRITE,您可以依赖 Javadoc,至少在这种情况下是这样。
  • 你的编辑比你原来的问题更没有意义。

标签: java netty javadoc


【解决方案1】:

据我了解,两种描述都匹配且正确。

有两个主要标志 - 读取标志和写入标志。 从netty源的Channel接口可以看出,read flag是interestOps值的第1个最低有效位,write flag是interestOps值的第3个最低有效位。

如果设置了读取标志,则读取操作不会暂停。

如果设置了写入标志,则写入操作暂停。

如果设置了通道的读取或写入标志并且它们的名称反映标志状态,而不是操作暂停状态,则描述的所有 interestOps 值都会处理。

  • OP_READ - 值名称表示仅设置了读取标志(netty 来源显示 OP_READ = 1)。由于设置了读取标志,读取操作不会暂停。由于未设置写标志,因此不会暂停写操作。 这是实际读取的标志掩码,这就是为什么它在第一个 javaDoc 描述中将其视为实际标志。

  • OP_WRITE - 值名称表示仅设置了写入标志(netty 来源显示 OP_READ = 4)。由于设置了写标志,写操作被挂起。由于未设置读取标志,因此暂停读取操作。 这是实际的写标志掩码,这就是为什么它在第一个javaDoc描述中将其视为实际标志。

  • OP_READ_WRITE - 值名称表示设置了读取和写入标志(netty 来源显示 OP_READ_WRITE = OP_READ | OP_WRITE = 5)。由于设置了读取标志,读取操作不会暂停。由于设置了写标志,写操作被暂停。

  • OP_NONE - 值名称表示未设置标志(netty 来源显示 OP_NONE = 0)。由于未设置读取标志,因此暂停读取操作。由于未设置写入标志,因此不会暂停写入操作。

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2022-01-15
    • 2017-07-18
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2016-10-17
    相关资源
    最近更新 更多