A program to test the interoperability of zenoh-plugin-dds against various DDS implementations.
- Rust installation instructions are available here
- zenoh-plugin-dds
- A DDS Shapes Demo application, using e.g.
- RustDDS → Shapes Demo or
- CycloneDDS → Shapes Demo
Build the Zenoh-DDS bridge
git clone https://github.com/eclipse-zenoh/zenoh-plugin-dds.git
cd zenoh-plugin-dds
cargo build
Build the shapes demo for Zenoh
git clone https://github.com/eclipse-zenoh/zenoh-demos.git
cd zenoh-demos/zenoh-dds-interop/shapes_demo
cargo build
Build RustDDS and its Shapes Demo
git clone https://github.com/jhelovuo/RustDDS.git
cd RustDDS
cargo build --examples
Using separate consoles, start the three applications.
Start the zenoh-plugin-dds in standalone bridge mode:
cd zenoh-plugin-dds
cargo run
Start RustDDS Shapes Demo to subscribe on topic Square
:
cd RustDDS
cargo run --example=shapes_demo -- -S -t Square
Start Zenoh Shapes Demo to publish on Square
:
cd zenoh-demos/zenoh-dds-interop/shapes_demo
cargo run -- -P -t Square
Expected result: Zenoh Shapes demo receives what DDS Shapes Demo publishes. Startup order of the programs should not matter.
Swap the arguments -P and -S between programs to test the other direction.
Other DDS implementations, e.g. FastDDS, CycloneDDS, or RTI Connext are also expected to work with their respective Shapes Demo programs.