ZBLOG

3.1.2.1.17. ResourceLimitsQosPolicy This QoS Policy controls the resources that the service can use in order to meet the requirements imposed by the application and other QoS Policies. See ResourceLimitsQosPolicy. List of QoS Policy data members...

3.1.2.1.17 ResourceLimitsQosPolicy

该QoS策略控制服务可以使用的资源,以满足应用程序和其他QoS策略施加的要求。

QoS策略数据成员列表:

数据成员名称 类型 默认值
max_samples int32_t 5000
max_instances int32_t 10
max_samples_per_instance int32_t 400
allocated_samples int32_t 100
extra_samples int32_t 1
  • max_samples: 控制DataWriter或DataReader可以管理的最大样本数量,适用于所有关联实例。换句话说,它表示中间件可以为DataReader或DataWriter存储的最大样本数。值小于或等于0表示无限资源。

  • max_instances: 控制DataWriter或DataReader可以管理的最大实例数量。值小于或等于0表示无限资源。

  • max_samples_per_instance: 控制在一个实例中,DataWriter或DataReader可以管理的最大样本数量。值小于或等于0表示无限资源。

  • allocated_samples: 指定初始化时将分配的样本数量。

  • extra_samples: 指定将在池中分配的额外样本数量,因此池中的最大样本数将是max_samples加上extra_samples。这些额外样本在历史记录已满时作为样本储备存在。

注意: 此QoS策略适用于Topic、DataWriter和DataReader实体,并且不能在启用实体上更改。

一致性规则

为了维护ResourceLimitsQosPolicy内的一致性,数据成员的值必须遵循以下条件:

  • max_samples 的值必须大于或等于 max_samples_per_instance 的值。

  • 为HistoryQosPolicy深度设定的值必须小于或等于 max_samples_per_instance 所述的值。

示例

  1. // 此示例使用一个 DataWriter,但也可应用于 DataReader 和 Topic 实体
  2. DataWriterQos writer_qos;
  3. // ResourceLimitsQosPolicy默认构造时max_samples = 5000
  4. // 将max_samples更改为2000
  5. writer_qos.resource_limits().max_samples = 2000;
  6. // ResourceLimitsQosPolicy默认构造时max_instances = 10
  7. // 将max_instances更改为20
  8. writer_qos.resource_limits().max_instances = 20;
  9. // ResourceLimitsQosPolicy默认构造时max_samples_per_instance = 400
  10. // 将max_samples_per_instance更改为100
  11. writer_qos.resource_limits().max_samples_per_instance = 100;
  12. // ResourceLimitsQosPolicy默认构造时allocated_samples = 100
  13. // 将allocated_samples更改为50
  14. writer_qos.resource_limits().allocated_samples = 50;
  15. // 使用修改后的QoS创建相应实体
  16. writer_ = publisher_->create_datawriter(topic_, writer_qos);

总结

ResourceLimitsQosPolicy提供了一种方式来限制和控制服务组件(如DataWriter和DataReader)所能使用的系统资源。这些限制对于确保系统稳定性、性能以及合理分配资源非常重要。在实际应用中,需要根据具体需求对这些参数进行调整,以达到最佳性能效果。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?