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

up-transport-zenoh

Zenoh Rust Transport library implementation of the Eclipse uProtocol

7 releases (4 breaking)

0.5.0 Feb 7, 2025
0.4.0 Dec 6, 2024
0.3.1 Nov 16, 2024
0.3.0 Oct 25, 2024
0.1.1 Aug 9, 2024

#1767 in Network programming

Download history 137/week @ 2024-10-25 35/week @ 2024-11-01 152/week @ 2024-11-08 157/week @ 2024-11-15 10/week @ 2024-11-22 13/week @ 2024-11-29 168/week @ 2024-12-06 7/week @ 2024-12-13 7/week @ 2025-01-03 11/week @ 2025-01-10 3/week @ 2025-01-17 56/week @ 2025-01-24 39/week @ 2025-01-31 155/week @ 2025-02-07

253 downloads per month

Apache-2.0

41KB
421 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
~579K SLoC