如何解决QOS话题如何影响DDS服务?
大多数主题 Qos 策略也适用于 DataWriter 和 DataReader。例如 DURABILITY、DEADLINE、LATENCY_BUDGET、RELIABILITY 等。
当这种类型的 Qos 策略在 Topic 及其 DataWriter 或 DataReader 上设置不同的值时会发生什么?
它是否被视为不兼容的请求? Topic 和 DataWriter 或 DataReader Qos 策略之间是否存在层次结构?
解决方法
允许设置与 Topic QoS 不同的 DataReader/DataWriter QoS。主题 QoS 在 DDS 中唯一真正重要的作用是将持久性类型设置为瞬态/持久性(可选功能)。在这种情况下,即使所有应用程序进程都停止,中间件仍可确保数据仍然可用(但某些中间件在瞬态情况下仍会保留)。
中间件保留的数据集是从主题 QoS 复制其 QoS 的 DataReader 将包含的数据。为此目的复制 QoS 时,历史种类/深度和资源限制设置取自 DurabilityService 设置;并且该机制还包括一些已处理数据的自动清理(DurabilityService 设置中的“服务清理延迟”部分)。
因此,如果 DataWriter 和 Topic 都将持久性类型设置为瞬态/持久性,则如果 QoS 不兼容,您可能会收到不兼容的 QoS 通知。
我的建议是在考虑需要的主题时始终仔细考虑 QoS,然后相应地设置主题 QoS。几乎总是如此,您可以让 DataReaders 和 DataWriters 从 Topic QoS 继承。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。