pub fn jittered_backoff(attempt: u32, base: Duration, max: Duration) -> DurationExpand description
Calculate jittered exponential backoff duration
Adds random jitter (±25%) to prevent thundering herd problem
§Examples
use std::time::Duration;
use ipfrs_network::utils::jittered_backoff;
let backoff = jittered_backoff(2, Duration::from_secs(1), Duration::from_secs(60));
// Should be roughly 4 seconds ± 25%
assert!(backoff >= Duration::from_secs(3));
assert!(backoff <= Duration::from_secs(5));