async-sema-rs
Async semaphore library
example:
use Semaphore;
let s = new;
// async acquire
s.acquire.await;
// instant acquire
let a = s.try_acquire.unwrap;
// async timeout acquire
let b = s.acquire_timeout.await;
assert!;
s.add_permits;
assert!;