# LiveLinessQoS
# 功能介绍
用于对实体的存活状态进行管理,实体包括了participant,publisher,subscriber,topic等。数据接收者若超过lease_duration时间还未检测到发送者的存活信息,则认为其失效。该QoS的值可以再实体启用前进行修改,但启用实体后就无法修改。
# 兼容性
开启服务后,DDS服务会对写者和读者的LiveLinessQoS的kind值进行比对检查。首先对于DDS服务来说,该QoS的Kind值是有序的。Kind的大小顺序如下所示:
AUTOMATIC <MANUAL_BY_PARTICIPANT <MANUAL_BY_TOPIC。
当写者的LiveLinessQoS的Kind值大于或等于读者的LiveLinessQoS的Kind,并且写者的lease_duration值 <= 读者的lease_duration值。DDS才会认为写者和读者的状态是兼容的。
# 使用方法
LiveLinessQoS成员列表如下表。
类型 | 字段名 | 描述 |
---|---|---|
Liveliness- QoSPolicy- Kind | Kind | DDS_AUTOMATIC_livelines_QOS: DDS中间件自动监测应用进程的存活状况,并发布应用程序的存活信息 DDS_MANUAL_BY_PARTICIPANT_LIVELINESS_QOS: 应用主动通知中间件自身的存活状态。在一个DDS域参与者中的任意实体存活,中间件就认为整个参与者存活。 DDS_MANUAL_BY_pic_livelines_QOS: 应用程序必须在lease_duration内明确声明DataWriter的活跃性。DDS中间件只会认为该发送者存活。 |
Duration_t | lease_dur- ation | QoS必须为DataWriter声明时间范围,否则DataWriter将被视为不活动或不活动。 如果DataWriter未在DataWriter的时间范围内声明其活跃性,则DataReader将认为DataWriter不活跃。 |
表 7 LiveLinessQoS的成员变量