diff --git a/Cargo.toml b/Cargo.toml index 57bdea8..cc5331f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ serde_with = { version = "3.0.0", default-features = false, features = [ ] } serde_plain = "1.0.0" sha1 = "0.10.0" -rand = "0.8.0" +rand = "0.9.0" time = { version = "0.3.37", features = [ "macros", "serde-human-readable", diff --git a/downloader/src/lib.rs b/downloader/src/lib.rs index d6cd6e8..c63d5c5 100644 --- a/downloader/src/lib.rs +++ b/downloader/src/lib.rs @@ -1067,8 +1067,8 @@ impl DownloadQuery { } fn get_download_range(offset: u64, size: Option) -> Range { - let mut rng = rand::thread_rng(); - let chunk_size = rng.gen_range(CHUNK_SIZE_MIN..CHUNK_SIZE_MAX); + let mut rng = rand::rng(); + let chunk_size = rng.random_range(CHUNK_SIZE_MIN..CHUNK_SIZE_MAX); let mut chunk_end = offset + chunk_size; if let Some(size) = size { diff --git a/src/util/mod.rs b/src/util/mod.rs index fc6af15..368d114 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -75,10 +75,10 @@ pub fn get_cg_from_fancy_regexes(regexes: &[&str], text: &str, cg_name: &str) -> /// Generate a random string with given length and byte charset. fn random_string(charset: &[u8], length: usize) -> String { let mut result = String::with_capacity(length); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); for _ in 0..length { - result.push(char::from(charset[rng.gen_range(0..charset.len())])); + result.push(char::from(charset[rng.random_range(0..charset.len())])); } result @@ -90,14 +90,14 @@ pub fn generate_content_playback_nonce() -> String { } pub fn random_uuid() -> String { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); format!( "{:08x}-{:04x}-{:04x}-{:04x}-{:012x}", - rng.gen::(), - rng.gen::(), - rng.gen::(), - rng.gen::(), - rng.gen::() & 0xffff_ffff_ffff, + rng.random::(), + rng.random::(), + rng.random::(), + rng.random::(), + rng.random::() & 0xffff_ffff_ffff, ) } @@ -229,7 +229,7 @@ pub fn retry_delay( backoff_base: u32, ) -> u32 { let unjittered_delay = backoff_base.checked_pow(n_past_retries).unwrap_or(u32::MAX); - let jitter_factor = rand::thread_rng().gen_range(800..1500); + let jitter_factor = rand::rng().random_range(800..1500); let jittered_delay = unjittered_delay .checked_mul(jitter_factor) .unwrap_or(u32::MAX); diff --git a/src/util/visitor_data.rs b/src/util/visitor_data.rs index 0087f96..8bc64c7 100644 --- a/src/util/visitor_data.rs +++ b/src/util/visitor_data.rs @@ -148,8 +148,8 @@ impl VisitorDataCache { { let vds = self.inner.visitor_data.read().unwrap(); if !vds.is_empty() { - let mut rng = rand::thread_rng(); - let vd = vds[rng.gen_range(0..vds.len())].to_owned(); + let mut rng = rand::rng(); + let vd = vds[rng.random_range(0..vds.len())].to_owned(); tracing::debug!("visitor data {vd} picked from cache"); return Ok(vd); }