3.1.2.1.15. ReaderDataLifecycleQosPolicy
警告
此 QoS 策略将在未来的版本中实现。
该 QoS 策略指定了 DataReader 在其管理的数据实例生命周期方面的行为,即它接收并维护一些内部资源的实例。DataReader 保持未被应用程序提取的样本,这受到 HistoryQosPolicy 和 ResourceLimitsQosPolicy 施加的约束。请参见 ReaderDataLifecycleQosPolicy。
在正常情况下,只有当没有写入者且所有样本都已被应用程序提取时,DataReader 才能回收与数据实例相关联的资源。但是,如果应用程序没有提取这些样本,服务将阻止 DataReader 回收资源,这些资源将无限期地保留在 DataReader 中。这项 QoS 的存在是为了避免这种情况发生。
QoS 策略数据成员列表:
数据成员名称 | 类型 | 默认值 |
---|---|---|
autopurge_no_writer_samples_delay | Duration_t | c_TimeInfinite |
autopurge_disposed_samples_delay | Duration_t | c_TimeInfinite |
autopurge_no_writer_samples_delay: 定义一旦实例状态变为
NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
后,DataReader 必须保留有关该实例的信息的最大持续时间。在此时间过后,DataReader 将清除该实例的所有内部信息,包括未被提取的样本,这些样本将会丢失。autopurge_disposed_samples_delay: 定义一旦实例状态变为
NOT_ALIVE_DISPOSED_INSTANCE_STATE
后,DataReader 必须保留有关该实例的信息的最大持续时间。在此时间过后,DataReader 将清除该实例的所有样本。
注意:此 QoS 策略适用于 DataReader 实体,可以在启用实体上进行更改。
内容由零声教学AI助手提供,问题来源于学员提问