ratelim 0.1.0

Simplistic rate limiter
Documentation

Simplistic rate limiter.

Examples

# use std::{thread, time::Duration};
# use ratelim::RateLimiter;
#
# fn main() {
// We don't want to overwater plants. Twice a second should be fine?
let mut lim_water_plants = RateLimiter::new(Duration::from_millis(500));

let mut n = 0;
for _ in 0..5 {
lim_water_plants.run(|| {
println!("Watering plants... 🌱🔫");
n += 1;
});
thread::sleep(Duration::from_millis(200));
}
assert_eq!(n, 2);
# }

For advanced use cases consider using governor library instead.