我目前在一个系统上使用RTI DDS,我们将为多个项目设置一个主题,例如一个car topic
具有多个vin
数字的主题。由于这是我正在尝试制作的设计"keyed" topic
,因此它基本上是一个主题,其中有一个成员充当键(有点像数据库中的主键),在本例中将是vin
每辆车的主键。为了实现keyed topics
我正在使用如下IDL文件,
const string CAR_TOPIC = "CAR";
enum ALARMSTATUS {
ON,
OFF
};
struct keys {
long vin; //@key
string make;
ALARMSTATUS alarm;
};
当我通过从 IDL 制作 C、Java 等文件的工具运行IDL文件时,我唯一能做的就是运行程序并查看 rtigen
Writing keys, count 0
Writing keys, count 1 ...
和
keys subscriber sleeping for 4 sec...
Received:
vin: 38
make:
alarm : ON
keys subscriber sleeping for 4 sec...
Received:
vin: 38
make:
alarm : ON ...
因此,很难看出关键主题是如何工作的,以及它们是否真的有效。有没有人有任何意见如何处理从IDL文件生成的文件以使程序更具功能性?另外我从来没有看到过这个主题CAR
,所以我不确定我是否使用正确的语法来为 DDS 设置主题。