【问题标题】:DDS IDL | Creating a network alias name separate from a structure nameDDS IDL |创建与结构名称分开的网络别名
【发布时间】:2021-04-08 00:20:50
【问题描述】:

我受到了一个限制,即我的 C 结构名称不能通过 DDS 发布,而我必须使用一组不同的名称,然后以某种方式将两者关联起来。它引出了一个问题,为什么不只是更改我的 C 结构以匹配实际的 DDS 名称,但这是不切实际的,因为名称必须在运行时进行配置。

放弃运行时约束,我想知道是否有一个 IDL 关键字可用于在我的结构和所需的 DDS 发布名称之间创建别名。有一个“别名”关键字,但它是用于数据类型的。

我做了很多谷歌搜索,很难找到 IDL 关键字的定义。 OMG 文档没有提供任何见解来表明这是可能的(也许不是)。

【问题讨论】:

标签: data-distribution-service


【解决方案1】:

在 DDS 中,数据类型通过“register_type()”操作注册到中间件。此操作包括一个参数,用于指定与注册类型关联的“名称”。此名称不需要与 IDL 类型的名称匹配。 [如果未指定此名称,则中间件将使用 IDL 类型名称。]

【讨论】:

  • 在 DDS 中,仅当 DDS 主题使用类型时才需要注册类型。为此,DDS 支持“结构”或“联合”类型。如果结构有成员 [elements?] 也是结构类型,则不需要注册这些“内部”类型,因此“内部”结构类型的名称本质上是无关紧要的。
猜你喜欢
  • 2015-01-12
  • 2018-07-11
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 2019-09-15
  • 1970-01-01
相关资源
最近更新 更多