Files
krata/crates/xen/xenstore/examples/watch.rs

24 lines
628 B
Rust
Raw Normal View History

2024-03-07 04:14:25 -08:00
use std::env::args;
use xenstore::error::Result;
use xenstore::XsdClient;
2024-03-07 04:14:25 -08:00
#[tokio::main]
async fn main() -> Result<()> {
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("warn")).init();
let path = args().nth(1).unwrap_or("/local/domain".to_string());
let client = XsdClient::open().await?;
let mut handle = client.watch(&path).await?;
let mut count = 0;
loop {
let Some(event) = handle.receiver.recv().await else {
break;
};
println!("{}", event);
count += 1;
if count >= 3 {
break;
}
}
Ok(())
}