Micro-XRCE-DDS icon indicating copy to clipboard operation
Micro-XRCE-DDS copied to clipboard

Incompatibilities in binary entity representation

Open jseldent opened this issue 2 years ago • 1 comments

This is probably also something for v3.0.0, but Micro-XRCE-DDS does not follow the official dds_xrce_types.idl exactly for the binary entity representation:

OBJK_Topic_Binary

The official definition is

struct  OBJK_Topic_Binary {
  string<256> topic_name;
  @optional string<256> type_reference;
  @optional DDS:XTypes::TypeIdentifier type_identifier;
};

But Micro-XRCE-DDS uses

struct  OBJK_Topic_Binary {
  string<256> topic_name;
  @optional string<256> type_reference;
  @optional string<256> type_name;
};

I think type_reference should contain the type name currently stored in type_name. And type_name should be replaced by type_identifier.

OBJK_DataWriter_Binary_Qos

The official definition is

struct  OBJK_DataWriter_Binary_Qos :  OBJK_Endpoint_Binary_Qos {
  @optional unsigned long ownership_strength;
};

but Micro-XRCE-DDS uses

struct  OBJK_DataWriter_Binary_Qos :  OBJK_Endpoint_Binary_Qos {
  @optional unsigned long long ownership_strength;
};

OBJK_DataReader_Binary_Qos

The official definition is

struct  OBJK_DataReader_Binary_Qos :  OBJK_Endpoint_Binary_Qos {
  @optional unsigned long timebasedfilter_msec;
  @optional string contentbased_filter;
};

but Micro-XRCE-DDS uses

struct  OBJK_DataReader_Binary_Qos :  OBJK_Endpoint_Binary_Qos {
  @optional unsigned long long timebasedfilter_msec;
  @optional string contentbased_filter;
};

OBJK_DataReader_Binary and OBJK_DataWriter_Binary

The official definition is

struct  OBJK_DataReader_Binary {
  string topic_name;
  @optional OBJK_DataReader_Binary_Qos qos;
};

and similar for OBJK_DataWriter_Binary, but Micro-XRCE-DDS uses

struct  OBJK_DataReader_Binary {
  ObjectId topic_id;
  @optional OBJK_DataReader_Binary_Qos qos;

and similar for OBJK_DataWriter_Binary.

jseldent avatar Apr 04 '22 12:04 jseldent

Adding to v3.0.0 milestone

pablogs9 avatar Apr 04 '22 13:04 pablogs9