use k2hash_rust::{K2hash, Queue, QueueBuilder};
fn main() {
let db = K2hash::open_mem().expect("open_mem failed");
let q = Queue::new(db.handle(), true, None, None, None).expect("Queue creation failed");
let value = "hello".to_string();
q.put(&value).expect("Push failed");
if let Some(value) = q.get() {
println!("Popped value: {}", value);
} else {
println!("Queue is empty");
}
assert!(q.qsize() == 0);
assert!(q.clear());
assert!(q.close());
let db = K2hash::open_mem().expect("open_mem failed");
let fifo = true; let prefix = "test_prefix".to_string();
let password = Some("your_password".to_string());
let expire_duration = Some(60); let qb1 = QueueBuilder::new(db.handle())
.fifo(fifo)
.prefix(prefix) .password(password.expect("Error")) .expire_duration(expire_duration.expect("Error")) .build()
.expect("Queue creation failed");
qb1.put(&value).expect("Push failed");
if let Some(value) = qb1.get() {
println!("Popped value: {}", value);
} else {
println!("Queue is empty");
}
assert!(qb1.qsize() == 0);
assert!(qb1.clear());
assert!(qb1.close());
}