-
Hi, Thank you |
Beta Was this translation helpful? Give feedback.
Replies: 11 comments 12 replies
-
Hi @lanner17 , Yes, zenoh-plugin-dds internally uses CycloneDDS which can interoperate with any other compliant DDS implementation. No, we didn't yet test it on Windows. N.B.: as discussed below, |
Beta Was this translation helpful? Give feedback.
-
Hi
My question is how do one read the samples/instances ? It seems obvious to try something like curl http://localhost:8000/VFDInfo, but it does not return anything. I realize the data has to be de-serialized. Thanks |
Beta Was this translation helpful? Give feedback.
-
I looked at the browser console and there are no error messages. I just get
Note that I changed to a different topic. With
Later when the page is loaded in the browser:
So, it seems the route was created and the bridge acknowledged the subscription. It is just strange that it does not trigger the event handler in the browser |
Beta Was this translation helpful? Give feedback.
-
Ok, that provided another clue. With |
Beta Was this translation helpful? Give feedback.
-
As far as your option 1 is concerned: The tool of my DDS implementation shows the reader for the bridge. There are no QoS mismatches, the tool can subscribe to |
Beta Was this translation helpful? Give feedback.
-
Ok, it makes sense that the serialized data can just be forwarded. Based on this, my comment "The data types are on the wire" is moot. |
Beta Was this translation helpful? Give feedback.
-
I changed the Javascript code to subscribe to a topic with Reliable QoS and the data got printed in the browser console. So it definitely seems it is only the BEST_EFFORT data does not get routed yet. |
Beta Was this translation helpful? Give feedback.
-
I just remembered/realized that Connext has a QoS setting to batch data. So, if you have a topic that has small data samples, you can set a QoS and the middleware would batch the samples together. This makes for more efficient transfer on the wire - sending one batch of data instead of small packets. This must be a propriety feature that CycloneDDS do not have implemented. Once this Qos is set, it is transparent so it is easy to forget about it. |
Beta Was this translation helpful? Give feedback.
-
It does, and Cyclone DDS uses it. Unfortunately, RTI uses a special "batched" encoding that is not part of the spec — and to add insult to injury, they use message identifiers that are part of the spec-reserved name space instead of using a vendor-specific identifier. I suspect that this is what you're dealing with. It is easy to check if you have WireShark, that proprietary encoding of RTI looks like this: |
Beta Was this translation helpful? Give feedback.
-
@JEnoch, @eboasson Thanks for the clarification. For my current purpose, it is possible to work around the issue. |
Beta Was this translation helpful? Give feedback.
-
Hi guys, thanks for fruitful discussion above. So here's one more curious question. When we say Zenoh is compatible with common ddsi implementation, is shared memory included? For example, using fastdds and cyclonedds as two applications (both with shared memory enabled in node) on one host, and does Zenoh be able to bridge those shared memory messages? |
Beta Was this translation helpful? Give feedback.
Hi @lanner17 ,
Yes, zenoh-plugin-dds internally uses CycloneDDS which can interoperate with any other compliant DDS implementation.
Interoperability tests are regularly performed between the major DDS implementations.
No, we didn't yet test it on Windows.
N.B.: as discussed below,
zenoh-plugin-dds
might not support non-standard extensions of some DDS implementations - for instance Connext's BATCH QosPolicy.