TransmissionData complex data structures #159
-
I am trying to send a hashmap data to the subscriber, which looks like this: pub struct TransmissionMapData { On the publisher side, the program looks like this: On the subscriber side, The issue is: The subscriber does not fetch any value, and the program gets corrupted meaning SIGKILL needs to be sent to kill the process. Is there anything specific I might be missing here? I also tried serialising/Deserialising to Json_string, but looks like it isn't necessary, as the MessageType can handle other data structures, though the subscriber process does not work. Please provide insights into this. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
There are restriction on the data which can be used in shared-memory for zero-copy inter-process communication. I'm not sure whether we already documented it for iceoryx2 but it is basically the same as for iceoryx1 https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/getting-started/overview.md#restrictions. Furthermore the structs should be We plan to create a trait similar to |
Beta Was this translation helpful? Give feedback.
There are restriction on the data which can be used in shared-memory for zero-copy inter-process communication. I'm not sure whether we already documented it for iceoryx2 but it is basically the same as for iceoryx1 https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/getting-started/overview.md#restrictions. Furthermore the structs should be
repr(C)
to prevent issues due to reordering of fields.We plan to create a trait similar to
Send
and a derive macro which checks whether a struct contains only fields which can be used in shared-memory. It will probably be done for the v0.3 or v0.4 release.