大部分主题Qos策略也适用于DataWriter和DataReader。例如耐久性、截止日期、LATENCY_BUDGET、可靠性等。
当这种类型的Qos策略在Topic及其DataWriter或DataReader上设置了不同的值时,会发生什么?
是否被视为不兼容的请求?主题和DataWriter或DataReader服务质量策略之间是否存在层次结构?
发布于 2021-03-18 17:36:49
允许设置不同于主题QoS的数据读取器/数据写入器QoS。主题QoS在DDS中唯一真正重要的作用是当持久性类型被设置为瞬态/持久性(一个可选功能)时。在这种情况下,中间件可确保即使在所有应用程序进程停止时数据仍然可用(但有些中间件进程仍处于瞬态状态)。
中间件保留的数据集是从主题QoS复制其QoS的DataReader将包含的数据集。出于此目的复制QoS时,历史记录类型/深度和资源限制设置取自DurabilityService设置;该机制还包括对已处置数据的一些自动清理( DurabilityService设置的“服务清理延迟”部分)。
因此,如果一个DataWriter和一个主题都将耐久性类型设置为瞬态/持久性,那么如果这两个QoS在其他方面是不兼容的,那么您可以得到不兼容的QoS通知。
我的建议是,当你考虑你需要的主题时,总是仔细考虑QoS,然后相应地设置主题QoS。几乎总是这样,您可以让DataReaders和DataWriters继承自主题QoS。
https://stackoverflow.com/questions/66671167
复制相似问题