use k2hash_rust::{K2hash, KeyQueue, KeyQueueBuilder};
fn main() {
let db = K2hash::open_mem().expect("open_mem failed");
let q = KeyQueue::new(db.handle(), true, None, None, None).expect("KeyQueue creation failed");
let key = "hello".to_string();
let value = "world".to_string();
q.put(&key, &value).expect("Push failed");
if let Some(value) = q.get() {
println!("Popped key: {}, value: {}", value.0, value.1);
} else {
println!("KeyQueue 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 = KeyQueueBuilder::new(db.handle())
.fifo(fifo)
.prefix(prefix) .password(password.expect("Error")) .expire_duration(expire_duration.expect("Error")) .build()
.expect("KeyQueue creation failed");
qb1.put(&key, &value).expect("Push failed");
if let Some(value) = qb1.get() {
println!("Popped key: {}, value: {}", value.0, value.1);
} else {
println!("KeyQueue is empty");
}
assert!(qb1.qsize() == 0);
assert!(qb1.clear());
assert!(qb1.close());
}