The crate of the zenoh API.
See the [Zenoh] struct for details.
Quick start examples
Put a key/value into zenoh
use zenoh::*;
use std::convert::TryInto;
#[async_std::main]
async fn main() {
let zenoh = Zenoh::new(net::config::default()).await.unwrap();
let workspace = zenoh.workspace(None).await.unwrap();
workspace.put(
&"/demo/example/hello".try_into().unwrap(),
"Hello World!".into()
).await.unwrap();
zenoh.close().await.unwrap();
}
Subscribe for keys/values changes from zenoh
use zenoh::*;
use futures::prelude::*;
use std::convert::TryInto;
#[async_std::main]
async fn main() {
let zenoh = Zenoh::new(net::config::default()).await.unwrap();
let workspace = zenoh.workspace(None).await.unwrap();
let mut change_stream =
workspace.subscribe(&"/demo/example/**".try_into().unwrap()).await.unwrap();
while let Some(change) = change_stream.next().await {
println!(">> {:?} for {} : {:?} at {}",
change.kind, change.path, change.value, change.timestamp
)
}
change_stream.close().await.unwrap();
zenoh.close().await.unwrap();
}
Get keys/values from zenoh
use zenoh::*;
use futures::prelude::*;
use std::convert::TryInto;
#[async_std::main]
async fn main() {
let zenoh = Zenoh::new(net::config::default()).await.unwrap();
let workspace = zenoh.workspace(None).await.unwrap();
let mut data_stream = workspace.get(&"/demo/example/**".try_into().unwrap()).await.unwrap();
while let Some(data) = data_stream.next().await {
println!(">> {} : {:?} at {}",
data.path, data.value, data.timestamp
)
}
zenoh.close().await.unwrap();
}