Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibilities in binary entity representation #141

Open
jseldent opened this issue Apr 4, 2022 · 1 comment
Open

Incompatibilities in binary entity representation #141

jseldent opened this issue Apr 4, 2022 · 1 comment
Milestone

Comments

@jseldent
Copy link

jseldent commented Apr 4, 2022

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.

@pablogs9
Copy link
Member

pablogs9 commented Apr 4, 2022

Adding to v3.0.0 milestone

@pablogs9 pablogs9 added this to the v3.0.0 milestone Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants