# 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的成员变量

# 效果展示