ZBLOG

3.1.2.2.3. RTPSReliableReaderQos This RTPS QoS Policy allows the configuration of several RTPS reliable reader’s aspects. See RTPSReliableReaderQos. List of QoS Policy data members: Data Member Name Type times ReaderTimes disable_positive_a...

3.1.2.2.3. RTPSReliableReaderQos

RTPSReliableReaderQos 是用于配置多个可靠阅读器(DataReader)方面的 RTPS QoS(质量服务)策略。以下是此 QoS 策略的详细信息。

QoS Policy 数据成员列表:

数据成员名称 类型
times ReaderTimes
disable_positive_acks DisablePositiveACKsQosPolicy
  • times: 定义了 RTPSReader 事件的持续时间。有关详细信息,请参阅 ReaderTimes。

  • disable_positive_acks: 配置禁用正向确认(ACK)的设置。有关详细信息,请参阅 DisablePositiveACKsQosPolicy。

注意
此 QoS 策略适用于 DataReader 实体。只有在启用实体上,DisablePositiveACKsQosPolicy 的持续时间数据成员和 times 数据成员可以被修改。


ReaderTimes

这个结构定义了与可靠阅读器事件相关的时间设置。有关更多信息,请参阅 ReaderTimes。

结构成员列表:

成员名称 类型 默认值
initial_acknack_delay Duration_t 70 ms
heartbeat_response_delay Duration_t 5 ms
  • initial_acknack_delay: 定义初始 ACK/NACK 延迟的持续时间。

  • heartbeat_response_delay: 确定收到心跳消息时应用的延迟持续时间。


示例

// 此示例仅适用于 DataReader 实体
DataReaderQos reader_qos;

// RTPSReliableReaderQos 默认构造初始 ack/nack 延迟为 70 ms
// 将 initialAcknackDelay 修改为 70 纳秒
reader_qos.reliable_reader_qos().times.initial_acknack_delay = {0, 70};

// RTPSReliableReaderQos 默认构造心跳响应延迟为 5 ms
// 将 heartbeatResponseDelay 修改为 5 纳秒
reader_qos.reliable_reader_qos().times.heartbeat_response_delay = {0, 5};

// 您还可以更改 DisablePositiveACKsQosPolicy。有关详细信息,请参见 DisablePositiveACKsQosPolicy 部分。
reader_qos.reliable_reader_qos().disable_positive_acks.enabled = true;

// 在创建 DataReader 实体时使用修改后的 QoS 设置
reader_ = subscriber_->create_datareader(topic_, reader_qos);

总结

这段代码演示了如何使用 RTPSReliableReaderQos 来配置一个可靠的数据阅读器 (DataReader)。它主要做了以下几件事:

  1. 创建一个 DataReaderQos 对象来配置阅读器的 QoS 参数。
  2. 修改默认的初始 ACK/NACK 延迟和心跳响应延迟,从默认值(分别为 70 毫秒和 5 毫秒)更新为更小的值(例如,70 纳秒和5纳秒)。
  3. 启用了禁用正向确认的设置。
  4. 使用配置好的 reader_qos 创建新的数据阅读器实体。

通过这种方式,可以根据具体需求灵活调整数据通信中的时延和行为,以优化性能或满足特定要求。在实际应用中,这些参数会影响消息传递的可靠性、效率和系统整体表现,因此需要根据场景进行合理选择与调整。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?