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

up-transport-zenoh

Zenoh Rust Transport library implementation of the Eclipse uProtocol

6 releases (3 breaking)

new 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

#1333 in Network programming

Download history 20/week @ 2024-08-16 6/week @ 2024-08-23 3/week @ 2024-08-30 20/week @ 2024-09-13 27/week @ 2024-09-20 187/week @ 2024-09-27 37/week @ 2024-10-04 6/week @ 2024-10-11 1/week @ 2024-10-18 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 11/week @ 2024-11-29

338 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

~27–41MB
~588K SLoC