Comments (5)
We have added a test to verify this and it seems to work without problems. Can you maybe give definition of the struct that you are using? Might be this is some corner case that we have not considered.
from dust-dds.
Here is the IDL file that I try using dust_dds_gen to generate from, the generated file comes with issues I have to manually resolve these, and after they are resolved cyclone can't even pick up the data from the dds bus.
module School {
typedef double M_Double;
typedef int32_t M_Int32;
typedef int64_t M_Int64;
struct Student {
M_Int32 studentID;
M_Int32 studentPassPhrase;
};
struct Room {
M_Int64 roomNumber;
M_Int32 courseNumber;
};
};
module MyUniversity {
struct MyUniversityTopic {
@key School::Student student;
School::Room room;
School::M_Double age;
School::Student student2;
sequenceCommonStuff::Student,100 students;
School::Student student3;
};
};
from dust-dds.
Thank you for sharing your IDL. Which type are you publishing? Do you have a simple example of Dust DDS and Cyclone communicating in the system you are using? This is just to eliminate the option of this being a problem not at all related with the data.
There are also some errors in this IDL, in particular "int32_r" and "int64_t" are not recognized types in the IDL spec and the definition of the sequence is also not syntactically correct. The sharing of data between two modules is also something that I don't think is a good practice (and doesn't work at least in our case) since modules should be used to avoid name conflicts. So I modified it to the following and it compiles without problems:
module School {
typedef double M_Double;
typedef int32 M_Int32;
typedef int64 M_Int64;
struct Student {
M_Int32 studentID;
M_Int32 studentPassPhrase;
};
struct Room {
M_Int64 roomNumber;
M_Int32 courseNumber;
};
struct MyUniversityTopic {
@key Student student;
Room room;
M_Double age;
Student student2;
sequence<Student,100> students;
Student student3;
};
};
I have not yet tried any communication but I will wait with that until you comment further.
from dust-dds.
I want you to Create a dust-DDs publisher for struct MyUniversity topic then have a C++ Cyclone subscriber to listen to that data
This would prove that everything works.
Thank you.
from dust-dds.
Interoperability between Cyclone DDS and Dust DDS is verified using the tests on our Continuous Integration system. In the PR #300 there is an additional test with a meaningful example for nested types. Here is a link to the relevant results: https://app.circleci.com/pipelines/github/s2e-systems/dust-dds/1761/workflows/0e5154c9-b5e1-43b1-a6a5-f8461e3498f9/jobs/6618
from dust-dds.
Related Issues (18)
- Comparison to RustDDS HOT 5
- Inconsistent Behavior with DataWriterQos "HistoryQosPolicyKind::KeepLast" in a Publisher-Subscriber Scenario HOT 1
- Option Serialization Support HOT 4
- Cannot Run DDS Subscriber Within Tokio Context HOT 3
- Interoperability with FastDDS HOT 5
- Remove Sync trait bound for create_datareader, AnyDataReaderListener impl HOT 2
- DurationKind incompatible with json, ron deserialization HOT 1
- Better configuration HOT 2
- Why can't I receive it correctly using the example in the warehouse? HOT 3
- Scope of types supported for dds_gen HOT 1
- Cannot start a runtime from within a runtime HOT 1
- Receive messages from other topics when communicate with cyclonedds HOT 6
- failed to resolve: could not find `implementation` in the crate root When use actor_interface HOT 3
- DdsType derivation macro support for nested types HOT 6
- [ENTITYID_BUILTIN_PUBLICATIONS_WRITER] Should we choose to continue processing sub-messages even if the sequence numbers are not consecutive? HOT 3
- IDL generate from another idl file HOT 1
- IDL Gen annotations support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dust-dds.