flowbrigade 0.1.4

Rust bindings for FlowBrigade's C ABI.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::time::Duration;

use flowbrigade::{parse_duration, TokenBucket};

fn main() -> flowbrigade::Result<()> {
    let parsed = parse_duration("1s500ms")?;
    println!("parsed: {parsed:?}");

    let mut bucket = TokenBucket::new(10, Duration::from_secs(1), 20)?;
    let decision = bucket.consume(1)?;
    println!(
        "allowed: {}, remaining: {}",
        decision.allowed, decision.remaining
    );

    Ok(())
}