ZBLOG

3.1.2.2.7. PropertyPolicyQos This additional QoS Policy (PropertyPolicyQos) stores name/value pairs that can be used to configure certain DDS settings that cannot be configured directly using an standard QoS Policy. For the complete list of setti...

3.1.2.2.7. PropertyPolicyQos

PropertyPolicyQos 是一种附加的 QoS(服务质量)策略,用于存储名称/值对,这些对可以用来配置某些 DDS(数据分发服务)设置,这些设置无法通过标准 QoS 策略直接配置。有关可以使用此 QoS 策略配置的完整设置列表,请参阅 PropertyPolicyQos Options

这个 QoS 策略还允许添加自定义用户属性,这些属性可以发送给外部实体。这可以通过将属性的 propagate 值设置为 true 来实现。

注意: 此 QoS 策略适用于 DomainParticipantDataWriterDataReader 实体,且在启用实体上无法更改。

示例

以下是如何在 C++ 中使用 PropertyPolicyQos 的示例:

  1. // 此示例使用 DataWriter,但也适用于 DomainParticipant 和 DataReader 实体
  2. DataWriterQos writer_qos;
  3. // 为 Auth:PKI-DH 插件添加新属性
  4. writer_qos.properties().properties().emplace_back("dds.sec.auth.plugin", "builtin.PKI-DH");
  5. // 为 Access:Permissions 插件添加新属性
  6. writer_qos.properties().properties().emplace_back(eprosima::fastdds::rtps::Property("dds.sec.access.plugin",
  7. "builtin.Access-Permissions"));
  8. // 添加新的用户自定义属性以发送到外部参与者
  9. writer_qos.properties().properties().emplace_back("Custom Property Name", "Custom value", true);
  10. // 使用修改后的 QoS 创建相应的实体
  11. writer_ = publisher_->create_datawriter(topic_, writer_qos);

解释

在上述代码中,首先创建一个 DataWriterQos 对象,然后添加几个不同的属性,包括安全插件和用户自定义属性。每个属性都是一个键值对,其中键是字符串,值则是对应的插件或其他信息。

  • 安全插件:通过添加与认证和访问权限相关的插件,使得数据传输更加安全。
  • 用户自定义属性:这允许开发者根据特定需求传递额外的信息,这对于扩展 DDS 功能或进行特定配置很有用。

最后,通过调用 publisher_->create_datawriter() 方法并传入修改后的 QoS 设置来创建数据写入器实例。这确保了创建的数据写入器具有所需的配置。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22573

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?