微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DDS QoS:是否可以在不指定密钥的情况下发送数据?

如何解决DDS QoS:是否可以在不指定密钥的情况下发送数据?

我目前正在使用 Eclipse Cyclone DDS C++,我想知道是否可以在 IDL 中不使用 #pragma keylist 指定任何键的情况下发送数据。

是否可以通过 QoS 设置来实现?如果是这样,如何?

解决方法

如果您执行 #pragma keylist TYPE 时没有列出任何关键字段,IDL 编译器将生成您创建没有任何关键字段的主题所需的一切。所以

struct S {
  long something;
  string orother;
};
#pragma keylist S

完全有效,然后您可以为 S 创建主题。

我不完全确定你的意思

在这种情况下,读者无法区分对同一主题的写入。

以上将导致此主题的单个实例。您仍然可以拥有历史记录,因此,例如,阅读器仍然可以通过指定 KEEP_ALL 历史记录设置来确保它看到每个更新。因此,读者仍然可以通过查看内容和/或示例信息来区分写入,但对于 DDS,这些都是对这一实例的更新。

是否可以通过 QoS 设置来实现?

不,您不能(当前)使用 QoS 设置覆盖关键字段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。