zookeeper 0.8.0

A minimal ZooKeeper client
Documentation
extern crate env_logger;
extern crate uuid;
extern crate zookeeper;

use std::{env, sync::Arc, time::Duration};

use zookeeper::{recipes::queue::ZkQueue, WatchedEvent, Watcher, ZooKeeper};

struct NoopWatcher;

impl Watcher for NoopWatcher {
    fn handle(&self, _ev: WatchedEvent) {}
}

fn zk_server_urls() -> String {
    let key = "ZOOKEEPER_SERVERS";
    match env::var(key) {
        Ok(val) => val,
        Err(_) => "localhost:2181".to_string(),
    }
}

fn main() {
    env_logger::init();

    let zk_urls = zk_server_urls();
    log::info!("connecting to {}", zk_urls);

    let zk = ZooKeeper::connect(&*zk_urls, Duration::from_millis(2500), NoopWatcher).unwrap();

    let queue = ZkQueue::new(Arc::new(zk), "/testing2".to_string()).unwrap();


    let message = "Hello World";
    let op = queue.offer(Vec::from(message.as_bytes()));
    println!("{:?}", op);

}