pub fn with_jitter(duration: Duration) -> DurationExpand description
Add random jitter (up to 25 %) to a delay to prevent thundering-herd scenarios when many clients retry at the same time.
§Arguments
duration— Base delay to which jitter is added.
§Returns
A Duration in the range [duration, duration + duration/4).
When duration is very small (< 4 ms), the jitter is zero.
§Examples
use std::time::Duration;
use tokio_prompt_orchestrator::enhanced::retry::with_jitter;
let base = Duration::from_millis(200);
let jittered = with_jitter(base);
assert!(jittered >= base);
assert!(jittered <= base + Duration::from_millis(50));