resilient 0.1.0

A Rust resilience library providing retry, circuit breaker, timeout, bulkhead, and rate limiting policies
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use resilient::{BreakerPolicy, BreakerResult};

#[tokio::main]
async fn main() {
    let policy = BreakerPolicy::default().with_failure_threshold(3);

    for i in 0..6 {
        let result: Result<String, BreakerResult<String>> = policy
            .run(|| async { Err::<String, _>("something went wrong".to_string()) })
            .await;
        println!("call {}: {:?}", i + 1, result);
    }
}