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

up-transport-zenoh

Zenoh Rust Transport library implementation of the Eclipse uProtocol

8 releases (5 breaking)

new 0.6.0 Mar 18, 2025
0.5.0 Feb 7, 2025
0.4.0 Dec 6, 2024
0.3.1 Nov 16, 2024
0.1.1 Aug 9, 2024

#2018 in Network programming

Download history 8/week @ 2024-11-28 158/week @ 2024-12-05 22/week @ 2024-12-12 7/week @ 2025-01-02 11/week @ 2025-01-09 1/week @ 2025-01-16 58/week @ 2025-01-23 37/week @ 2025-01-30 164/week @ 2025-02-06 50/week @ 2025-02-13 22/week @ 2025-02-20 130/week @ 2025-02-27 75/week @ 2025-03-06 74/week @ 2025-03-13

304 downloads per month

Apache-2.0

44KB
424 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.

Change Log

Please refer to the Releases on GitHub for the change log.

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

Dependencies

~36–52MB
~868K SLoC