写在前面,简单写写,具体兼容性什么的还是看协议文档吧
liveliness是检测writer是否还活跃,
一般来说,就是如果reader侧一直(也可以指定周期)会收到writer的数,那么reader就觉得writer活跃,writer呢也觉得自己在活着;
除此之外 ,DDSDataWriter::assert_liveliness和DDSDomainParticipant::assert_liveliness的触发 就算reader收不到数, 也会认为writer 一直在活跃,也有要求liveliness不能是默认那个,但是这个触发具体是能坚持多久,没看到。。。 如何取消这个触发也没看到。。。
最后就是 fast dds 居然在participant 又加了个内置开关,如果不开这个participant下的所有实体都不会放开writer和reader功能,那这的兼容性又应该怎么说 fast dds的文档也没看到
据说把开关关掉后,会减少很多内存线程,提高性能,为此我还和人请教了下,结果人家来了句 fast dds就是这样实现的,我就知道我怎么也不能把这个开关去掉了。。。
最后的最后 这个 QoS可以在程序进行中修改,然后影响以后的行为,一直有点好奇,这种就是定时改了么?还是定时读取xml文件 有修改就merge 。
----------------------------