这个状态会在 DataWriter 找到与其主题匹配并具有共同分区的 DataReader,但它们的 QoS 配置不兼容时发生变化。这个状态被称为 OfferedIncompatibleQosStatus。
以下是状态数据成员的列表:
数据成员名称
数据成员名称 | 类型 |
---|---|
total_count | int32_t |
total_count_change | int32_t |
last_policy_id | QosPolicyId_t |
policies | QosPolicyCountSeq |
数据成员详细说明:
total_count:
- 说明: 与当前 DataWriter 定义的 QoS 配置不兼容的、匹配主题且具有共同分区的 DataReaders 的累计总数。当找到一个这样的 DataReader 时,该计数将增加。
total_count_change:
- 说明: 自上次调用
on_offered_incompatible_qos()
或读取状态以来,total_count
的变化值。此值只能为零或正值,表示自上次检查后的新增不兼容情况。
- 说明: 自上次调用
last_policy_id:
- 说明: 在与当前 DataWriter 不兼容的一组政策中报告的某一政策的 ID。如果有多个政策不兼容,仅会报告其中之一。
policies:
- 说明: 一个集合,用于存储每个政策与请求的不兼容性出现次数的信息。具体来说,它包含了针对每个政策,与远程 DataReader 之间所请求的不兼容配置的数据。有关每个策略存储信息的更多内容,请参见 QosPolicyCountSeq 和 QosPolicyCount。
总结
该状态用于监控 DataWriter 与可能存在的数据读取者之间QoS配置的不一致性。在实时通信系统中,确保相互之间的QoS设置相互兼容非常重要,因为这直接影响到数据传输的可靠性和效率。这种机制能够帮助开发者识别哪些 QoS 策略需要调整,以便实现更好的数据流通和通信效果。
内容由零声教学AI助手提供,问题来源于学员提问