use std::time::Duration;
pub const JITTER_MIN_MS: u64 = 100;
pub const JITTER_MAX_MS: u64 = 500;
pub fn generate_nonce() -> u32 {
rand::random()
}
pub fn generate_jitter_ms(min_ms: u64, max_ms: u64) -> u64 {
use rand::Rng;
rand::thread_rng().gen_range(min_ms..=max_ms)
}
pub async fn sleep_jitter(min_ms: u64, max_ms: u64) {
let ms = generate_jitter_ms(min_ms, max_ms);
tokio::time::sleep(Duration::from_millis(ms)).await;
}
pub async fn sleep_jitter_default() {
sleep_jitter(JITTER_MIN_MS, JITTER_MAX_MS).await;
}