Skip to main content

with_jitter

Function with_jitter 

Source
pub fn with_jitter(duration: Duration) -> Duration
Expand 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));