1含义
DeadlineQosPolicy这种qos使用在DataWriter、DataReader、Topic。该qos用来监督数据是不是按照预期的频率进行收发。假如数据是周期性发送和接收,周期是固定的100ms,我们如果想要监督数据收发是不是按照预期的周期进行的,那么就可以配置DeadlineQosPolicy。
以fastdds example中的hello_world为例,数据每100ms发送一次,我们配置DataWriter和DataReader的deadline为90ms,
同时显现deadline missed回调函数,当有deadline missed发生时,函数被调用,并打印日志。运行代码,可以看到相关的日志打印。
2匹配规则
DataWriter的deadline要小于等于DataReader的,否则无法匹配。
我们将DataWriter的deadline设置为100ms,将DataReader的deadline设置为90,这样两者无法匹配。判断qos是否匹配,在函数eprosima::fastdds::rtps::EDP::valid_matching中进行,通过对这个函数设置断点进行跟踪,结果如下:
datawriter, data reader,topic,
不匹配