use rustpool::BlockingQueue;
use rustpool::RPQueue;
fn main() {
let new_value: isize = 1;
let q = BlockingQueue::<isize>::new(3, || 0);
println!("simple blocking queue size {}", q.capacity());
let v1 = q.take().unwrap();
println!("first element is {}", v1);
let v2 = q.take().unwrap();
let v3 = q.take().unwrap();
println!("items in the queue {}", q.available());
let empty = q.take_wait(std::time::Duration::from_secs(1));
assert_eq!(None, empty);
q.offer(v1);
q.offer(v2);
q.offer(v3);
println!("items in the queue {}", q.available());
q.offer(&new_value);
println!("items in the queue {}", q.available());
}