3.1.2.1.15. ReaderDataLifecycleQosPolicy
警告
此QoS策略将在未来的版本中实现。
该QoS策略指定了DataReader与其管理的数据实例生命周期相关的行为,即它管理的已接收实例(以及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助手提供,问题来源于学员提问