···96 let cap = 3600;
97 let mult = 2u64.pow(retry_count.min(10)) as i64;
98 let delay = (base * mult).min(cap);
0000099 chrono::Utc::now().timestamp() + delay
100 }
101}
···96 let cap = 3600;
97 let mult = 2u64.pow(retry_count.min(10)) as i64;
98 let delay = (base * mult).min(cap);
99+100+ // add +/- 10% jitter
101+ let jitter = (rand::random::<f64>() * 0.2 - 0.1) * delay as f64;
102+ let delay = (delay as f64 + jitter) as i64;
103+104 chrono::Utc::now().timestamp() + delay
105 }
106}