ZBLOG

12.1.3.1. Physical Data in Discovery Information It is possible to include the information conveyed in the PHYSICAL_DATA_TOPIC into the participant discovery message, a.k.a DATA[p] (see Discovery phases). This is done by setting the following pro...

这段文字主要讲述了在使用Fast DDS(一个高性能的DDS实现)进行参与者发现时,如何通过设置属性来包含物理数据(如主机名、用户和进程信息)在发现消息中。以下是对内容的详细解释:

1. 物理数据与参与者发现

  • 在Fast DDS中,可以将物理数据包含在参与者的发现消息中。这些数据可以用来提供有关运行应用程序的主机、用户和进程的信息。

2. PropertyPolicyQos

  • 要传递这些物理数据,必须在DomainParticipantQos中设置特定的属性。这些属性包括:
    • fastdds.physical_data.host: 主机计算机名称
    • fastdds.physical_data.user: 运行应用程序的用户名称
    • fastdds.physical_data.process: 正在运行应用程序的进程名称

3. 默认值与FASTDDS_STATISTICS

  • 如果没有定义FASTDDS_STATISTICS,则这些属性默认为“未设置”或空字符串(”“)。如果定义了FASTDDS_STATISTICS且这些属性被设置为空字符串,则Fast DDS会自动填充这些字段。
  • 自动填充规则如下:
    • host: 使用asio::ip::host_name()返回的主机名加上默认的数据共享域ID。
    • user: 当前运行应用程序的用户名,如果无法获取则为”unknown”。
    • process: 应用程序所在进程的ID。

4. 自定义与清除物理属性

  • 可以通过C++ API创建不同配置的参与者:
    • 默认物理属性: 创建参与者并使用默认空值作为属性。
    • 自定义物理属性: 设置具体值以替代默认值。
    • 无物理属性: 清空这些属性,使得不会传递任何物理信息。

5. XML文件加载

  • Fast DDS允许通过XML文件加载配置,这些配置可以覆盖默认QoS。因此,即使未定义FASTDDS_STATISTICS,也可以通过XML设定物理属性。然而,不能仅通过XML文件去除已经存在的属性,这意味着需要使用上述C++ API来清除。

总结

这段描述的是如何利用Fast DDS中的QoS策略,在参与者之间共享关于系统环境的信息,包括主机名、用户名和进程ID。开发人员可以根据需要选择是否传播这些信息,并且有多种方式来设定或清除相关配置。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?