#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

#1769 in Network programming

Download history 8/week @ 2024-10-08 4/week @ 2024-10-15 126/week @ 2024-10-22 26/week @ 2024-10-29 71/week @ 2024-11-05 216/week @ 2024-11-12 52/week @ 2024-11-19 2/week @ 2024-11-26 154/week @ 2024-12-03 32/week @ 2024-12-10 16/week @ 2025-01-07 2/week @ 2025-01-14 44/week @ 2025-01-21

62 downloads per month

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
~578K SLoC