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

Support for DDS-XTypes 1.2 #903

Closed
rnareddy646 opened this issue Nov 30, 2019 · 8 comments
Closed

Support for DDS-XTypes 1.2 #903

rnareddy646 opened this issue Nov 30, 2019 · 8 comments

Comments

@rnareddy646
Copy link

Hello,

I would like to ask if the Fast RTPS implementation supports any of the
Extensible and Dynamic Topic Types for DDS as seen in the
https://www.omg.org/spec/DDS-XTypes/1.2

Please help us on this , we are trying to check interoperability test between different vendors to see if this supports.
Thanks
Sudharsan

@rburchell
Copy link

The documentation might be worth looking at.

@rnareddy646
Copy link
Author

Thank you for pointing out to the documentation link, Will go through that.

@richiware
Copy link
Member

@rnareddy646 Does the documentation help you? If it was helpful, could you close the issue? Thanks

@i-and
Copy link

i-and commented Dec 3, 2019

Please specify the implementation status of the following parts of the DDS-XTypes standard:

  1. IDL/XML parser and Fast-RTPS (de)serializer support for data type evolution with @extensibility=mutable| append|final, id, optional, mustUnderstand, tryConstruct;
  2. discovery-Time Data Typing (the dynamic features of DDS-XTypes depend on the ability of components to discover the data types used by their peers);
  3. introspecting existing types by user;
  4. Type Consistency Enforcement at Discovery-Time.

@richiware
Copy link
Member

The current status in master is:

  1. IDL/XML parser and Fast-RTPS (de)serializer support for data type evolution with @extensibility=mutable| append|final, id, optional, mustUnderstand, tryConstruct;

Our idl generator supports those annotations. But our serialization library doesn't still support XCDR standard, needed to use those annotations at serialization.

  1. discovery-Time Data Typing (the dynamic features of DDS-XTypes depend on the ability of components to discover the data types used by their peers);

You have documentation about this here. The feature is in master but not released yet in an official release.

  1. introspecting existing types by user;

The user is able to introspect existing dynamic types. Maybe this example and this one could help you.

  1. Type Consistency Enforcement at Discovery-Time.

At discovery level, Fast-RTPS is prepared, but Fast-CDR is still not supporting XCDR.

Support all DDS-XTypes 1.2 is in the eProsima's roadmap.

@rnareddy646
Copy link
Author

Thank you for your support on this

@richiware
Copy link
Member

You're welcome. I close the issue.

@vireshshirol
Copy link

Hi ,
I was trying to check the sample code workign for inherited struct types in the IDL.
Though the subscriber seems to receive the data from other applications, the publisher crashes in CDR serialize(int32) with NoMemoryException.

I was wondering if it was related to the incomplete support for XCDR in serialization library.
Could you please confirm if the sample generated for the following IDL is due to this issue?

struct Msg {
@key long userID;
//@id 0
string message; //@id 1

};
//@extensibility EXTENSIBLE_EXTENSIBILITY

struct MsgExtended : Msg {
long dummy; //@id 2
};
//@extensibility EXTENSIBLE_EXTENSIBILITY

HelloWorld_IDL.txt

I made further changes in the test code (and some debug logs in Cdr.cpp too)to check if things would work but without any luck.
As the sample code itself crashes ,I am atttaching only the IDL .
Please let me know if any additional info is required.
The installation was from master. (i.e. compiled from source)

Thank you,
Viresh

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

5 participants