Replies: 2 comments 2 replies
-
Hi @sfod, It is possible to use Shared Memory (SHM) transport with other transports. However, there are some design limitations. If your participant has some other transport different from SHM enabled, the discovery communication is only performed using that other transport (and not SHM). Therefore, if one participant has only SHM enabled and the other has SHM and UDP, no discovery is going to happen and no communication is going to be established. Either you disable the UDP transport in the participant that has it enabled, or you enable UDP in the other participant. I have issued eProsima/Fast-DDS-docs#374 in order to clarify this. |
Beta Was this translation helpful? Give feedback.
-
Hi @JLBuenoLopez-eProsima, Thanks for the answer and for the updated docs. Though, one thing is still unclear to me.
When I add the UDPv4 transport to the hello world example (i.e. both publisher and subscriber use SharedMemory + UDP), the communication goes over UDP. |
Beta Was this translation helpful? Give feedback.
-
The question is basically the same as this old question, but is about the DDS API rather than the deprecated FastRTPS API.
I've been experimenting with hello world shared memory example. I've enabled both SharedMem and UDPv4 transports for a participant in a publisher.
The issue is that a subscriber participant, with only SharedMemory enabled, doesn't see the publisher. When I add the UDPv4 transport to the subscriber, they start sending data over UDP. From my understanding, when any other transport is enabled for a participant, SharedMemory transport basically becomes disabled.
Is this an intended behavior or a bug? Is it possible to use the SharedMemory transport along with other transports?
Beta Was this translation helpful? Give feedback.
All reactions