Skip to main content

basic/
basic.rs

1//! Minimal Varta beat loop — connect once, emit `Status::Ok` every 500 ms.
2//!
3//! Run alongside varta-watch:
4//!
5//! ```sh
6//! varta-watch --socket /tmp/varta.sock --threshold-ms 2000 &
7//! cargo run --example basic
8//! ```
9
10fn main() -> std::io::Result<()> {
11    let mut agent = varta_client::Varta::connect("/tmp/varta.sock")?;
12    loop {
13        match agent.beat(varta_client::Status::Ok, 0) {
14            varta_client::BeatOutcome::Sent => {}
15            varta_client::BeatOutcome::Dropped(_) => {
16                eprintln!("varta: beat dropped (observer down or queue full)");
17            }
18            varta_client::BeatOutcome::Failed(e) => {
19                eprintln!("varta: beat failed: {e}");
20            }
21        }
22        std::thread::sleep(std::time::Duration::from_millis(500));
23    }
24}