首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在DDS中,可以读取写/发布缓存。

在DDS中,可以读取写/发布缓存。
EN

Stack Overflow用户
提问于 2013-11-22 06:23:48
回答 1查看 298关注 0票数 1

这个问题是关于我目前在DDS面临的一个障碍。我能够使用各个实现提供的QueryFilter来读取订阅者/阅读器缓存。但是我现在想读Publisher/Writer,但是我不能这样做。

用例是我正在发布一个对象列表,并且不希望自己在本地维护一个列表,因为DDS已经在这样做了。在订阅服务器上,我可以使用QueryFilter获取对象实例,正如我前面所说的那样。但有什么办法可以让出版商这么做吗?我希望避免在发布服务器端创建订阅服务器,或者在本地和GDS中维护列表。

我正在用C++进行编程,并使用OpenSplice,但请回答,即使是为了其他实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-22 12:23:41

目前还没有用于读取DataWriter端缓存的DDS标准API。据我所知,没有一个DDS实现提供类似的功能。

用例是我正在发布一个对象列表,并且不希望自己在本地维护一个列表,因为DDS已经在Publisher/Writer缓存中这样做了。

作为用户,您无法确定DataWriter端缓存中的内容。DDS规范没有确切地指定缓存中的内容,而且API中也不存在这样的规范。

DataWriter端缓存的目的是存储数据,以支持所请求的服务质量。对于最有效的DataWriter,缓存甚至可能不存在,或者包含有关发布的键值的最小信息。对于可靠的DataWriter,缓存可能包含正在可靠传递过程中的示例,但它们可能在交付后被删除。对于可靠的、非易失性的DataWriter,缓存可能包含所有需要用于加入lat的读取器的示例。

我说可能是因为这都取决于产品是如何实现的。

DataWriter端唯一与缓存相关的方法是lookup_instance()

我希望避免在发布服务器端创建订阅服务器,或者在本地和GDS中维护列表。

在发布服务器端创建一个DataReader似乎完全可以满足您的需要。你为什么要避免那样做?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20138382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档