que-luyo 0.1.0

Transactional bite-sized FIFO queue consumption with automatic rollback
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use que_luyo::BiteQueue;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut queue = BiteQueue::from_iter(["task-1", "task-2", "task-3"]);

    let completed = queue.bite(2)?.commit();
    println!("completed: {completed:?}");

    {
        let retry = queue.bite(1)?;
        println!("will retry: {:?}", retry.front());
    }

    println!("remaining: {:?}", queue.iter().collect::<Vec<_>>());
    Ok(())
}