phil-opp / zenoh-c

zenoh client library written in C and targeting micro-controllers.

Home Page:http://zenoh.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zenoh banner

CI Documentation Status Gitter License License

Eclipse zenoh C Client API

Eclipse zenoh is an extremely efficient and fault-tolerant Named Data Networking (NDN) protocol that is able to scale down to extremely constrainded devices and networks.


How to install it

Work in progress...


How to build it

To build the zenoh-c client API you need to ensure that rust is available on your platform.

-- Ubuntu --

$ sudo apt-get install rustc

-- MacOS --

$ brew install rust

The zenoh-c client API needs the nightly version of the rustc rust compiler.

$ rustup toolchain install nightly
$ rustup default nightly

The zenoh-c client API also needs cbindgen to be installed on your platform.

$ cargo install cbindgen

Once the above dependencies are satisfied, just do the following:

$ cd /path/to/zenoh-c
$ make
$ make install # on linux use **sudo**

If you want to build with debug symbols set the BUILD_TYPE=Debug environment variable before running make and make install:

$ cd /path/to/zenoh-c
$ export BUILD_TYPE=Debug 
$ make
$ make install # on linux use **sudo**

Building the Examples

$ cd /path/to/zenoh-c
$ make examples

Running the Examples

Basic Pub/Sub Example

$ ./target/release/examples/zn_sub
$ ./target/release/examples/zn_pub

Eval and Query Example

$ ./target/release/examples/zn_eval
$ ./target/release/examples/zn_query

Running the Throughput Examples

$ ./target/release/examples/zn_sub_thgr
$ ./target/release/examples/zn_pub_thgr

About

zenoh client library written in C and targeting micro-controllers.

http://zenoh.io

License:Other


Languages

Language:Rust 65.9%Language:C 31.4%Language:Makefile 2.7%