ZBLOG

Important The only mutable field in WireProtocolConfigQos is m_DiscoveryServers, which is contained in discovery_config within builtin (see Modifying remote servers list at run time). Important Upon the call to create_participant(), if Fast DDS...

这段文字主要阐述了在使用 DomainParticipant 时关于 QoS(Quality of Service)配置的一些重要注意事项。以下是对文本的详细解释:

1. 可变字段和发现服务器列表

  • 可变字段WireProtocolConfigQos 中唯一可以动态修改的字段是 m_DiscoveryServers,它位于内置的 discovery_config 中。这意味着在运行时,可以调整远程服务器列表,以便动态发现其他参与者。

2. 创建参与者时的 QoS 设置

  • 创建参与者:当调用 create_participant() 方法时,如果 Fast DDS 编译时启用了统计支持(默认开启),那么输入的 DomainParticipantQos 可能与内部生成的 DomainParticipantQos 不同。这是因为统计模块可能会对某些 QoS 值进行自动修改。

3. 修改 QoS 的步骤

如果应用程序希望在创建 DomainParticipant 后进一步修改其 QoS 设置,应遵循以下步骤:

  1. 获取当前QoS:通过调用 DomainParticipant::get_qos() 方法来检索当前实例的内部 QoS 配置。

  2. 执行所需修改:对检索到的 QoS 配置进行必要的更改。

  3. 更新QoS设置:通过调用 DomainParticipant::set_qos() 方法,将修改后的 QoS 设置应用回参与者实例中。

4. 不可变QoS策略

  • 如果尝试在一个已经启用(enabled)的 DomainParticipant 上修改不可变的 QoSPolicy,会导致错误。在这种情况下,不会有任何更改被应用,且该参与者将保持其先前的 DomainParticipantQos 设置。这提示开发者要仔细管理各项策略,以确保不会违反这些规则。

总结

这一段文字强调了如何正确地管理和修改 Fast DDS 中 DomainParticipant 的 QoS 设置,特别是在涉及统计支持的时候。理解这些流程对于避免运行时错误及确保系统稳定性至关重要。同时,还提醒开发人员关注哪些属性可以被修改,以及何时应该避免尝试进行这些修改。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?