作为DDS规范的一部分,基于DDS传输的数据包都是需要预先定义idl结构体,编译成DDS能识别的类和对应的*DataReader和*DataWriter对象,才能进行相应的write和take(或read)。
#define PRES_TYPE_PLUGIN_BUILTIN_TYPE_STRING_TYPE_NAME "DDS::String"
#define PRES_TYPE_PLUGIN_BUILTIN_TYPE_OCTETS_TYPE_NAME "DDS::Octets"
#define PRES_TYPE_PLUGIN_BUILTIN_TYPE_KEYED_STRING_TYPE_NAME "DDS::KeyedString"
#define PRES_TYPE_PLUGIN_BUILTIN_TYPE_KEYED_OCTETS_TYPE_NAME "DDS::KeyedOctets"
RTI DDS中,已经内置了4中基本的内置数据类型,分别是String、KeyedString、Octets、KeyedOctets,他们对应的idl文件,如下
module DDS {
struct String {
string value;
};
struct KeyedString {
string key;
string v