OwnershipStrengthQosPolicy
OwnershipStrengthQosPolicy 是一种 QoS(Quality of Service)策略,旨在定义当多个数据写入器(DataWriter)尝试修改同一数据实例时的竞争强度。这个策略只有在 OwnershipQosPolicy 被设置为 EXCLUSIVE_OWNERSHIP_QOS
时才适用。
QoS 策略数据成员列表:
数据成员名称 | 类型 | 默认值 |
---|---|---|
value | uint32_t | 0 |
注意:该 QoS 策略适用于 DataWriter 实体,并且可以在启用状态的实体上进行更改。
示例代码
下面是一个 C++ 的示例,展示了如何使用 OwnershipStrengthQosPolicy:
// 此示例仅适用于 DataWriter 实体
DataWriterQos writer_qos;
// OwnershipStrengthQosPolicy 默认构造时值为 0
// 将强度更改为 10
writer_qos.ownership_strength().value = 10;
// 使用修改后的 QoS 创建相应的 DataWriter
writer_ = publisher_->create_datawriter(topic_, writer_qos);
解释
概念:当多个 DataWriter 尝试同时对同一数据实例进行写入时,拥有权强度策略将帮助决定哪个 DataWriter 拥有优先写入权限。较高的所有权强度值意味着更大的优先级。
默认值与修改:
- 初始情况下,
value
为 0,表示没有特定的优先级。 - 在示例中,我们将所有权强度设置为 10,以提高该 DataWriter 的竞争力。
- 初始情况下,
用途:
- 此策略主要用于需要保证某个特定 DataWriter 对某些数据实例有唯一访问权限和更新能力的场景,如实时系统、控制系统等。
内容由零声教学AI助手提供,问题来源于学员提问
- 此策略主要用于需要保证某个特定 DataWriter 对某些数据实例有唯一访问权限和更新能力的场景,如实时系统、控制系统等。