#zenoh #communication #uprotocol #sdk #rpc-client

up-transport-zenoh

Zenoh Rust Transport library implementation of the Eclipse uProtocol

6 releases (3 breaking)

0.4.0 Dec 6, 2024
0.3.1 Nov 16, 2024
0.3.0 Oct 25, 2024
0.2.0 Oct 2, 2024
0.1.1 Aug 9, 2024

#1698 in Network programming

Apache-2.0

40KB
420 lines

up-transport-zenoh-rust

uProtocol transport implementation for Zenoh in Rust

Build

# Check clippy
cargo clippy --all-targets
# Build
cargo build
# Optional: Build with feature `zenoh-unstable` in uStreamer use case
cargo build --features zenoh-unstable
# Run test
cargo test
# Test coverage
cargo tarpaulin -o lcov -o html --output-dir target/tarpaulin

Examples

The examples of up-transport-zenoh-rust can be found under examples folder. Assume you're using debug build.[^1]

# Publisher
./target/debug/examples/publisher
# Subscriber
./target/debug/examples/subscriber
# Notifier
./target/debug/examples/notifier
# Notification Receiver
./target/debug/examples/notification_receiver
# RPC Server
./target/debug/examples/rpc_server
# RPC Client
./target/debug/examples/rpc_client
# L2 RPC Client
./target/debug/examples/l2_rpc_client

For the advanced Zenoh configuration, you can either use -h to see more details or pass the configuration file with -c. The configuration file example is under the folder config.

Note

The implementation follows the spec defined in up-l1/zenoh.

[^1]: Some PC configurations cannot connect locally. Add multicast to lo interface using $ sudo ip link set dev lo multicast on

Dependencies

~25–40MB
~577K SLoC