use reliakit_bulkhead::Bulkhead;
fn main() {
let mut bulkhead = Bulkhead::new(3);
println!("capacity: {}", bulkhead.capacity());
for request in 0..6 {
if bulkhead.try_acquire_one() {
println!(
"request {request}: admitted ({} in flight)",
bulkhead.in_flight()
);
} else {
println!("request {request}: rejected (bulkhead full), shed load");
}
}
bulkhead.release(2);
println!(
"\nafter two completions: {} available",
bulkhead.available()
);
if bulkhead.try_acquire_one() {
println!("retry: admitted ({} in flight)", bulkhead.in_flight());
}
}