Skip to content

Zenoh-CDN provides a library for building CDNs over Zenoh

License

Notifications You must be signed in to change notification settings

atolab/zenoh-cdn

Repository files navigation

CI License License

Zenoh-CDN

Zenoh uses an hop-to-hop fragmentation approach, typical of the Name Data Networking (NDN) concept. Although, generally, this is good approach, in some cases, i.e. when dealing with large files, in particular when intermediate nodes may also consider constraint devices, a different approach may be more suitable in order to minimize the number of fragmentation/reconstrcutions.

See the zenoh documentation for more details.

This library is advisable for sending large files because it allows to fragment and reconstruct as less as it can: at source and at destination. It's a library that relies on zenoh and shares files on zenoh in order to avoid the h2h fragmentation.


How to build it

At first, install Cargo and Rust.

And then build the library with:

$ cargo build --release --all-targets

Examples of usage

Start the zenoh-cdn server

$ RUST_LOG=zenoh_cdn=trace ./target/release/examples/server server-config.yml

Send and retrieve a file using the Client example

./target/debug/examples/client upload $(pwd)/zenoh.png "/imgs/zenoh"

Retrieve

./target/debug/examples/client download $(pwd)/zenoh2.png "/imgs/zenoh"

About

Zenoh-CDN provides a library for building CDNs over Zenoh

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages