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,
不匹配