fix: account for rand crate changes

This commit is contained in:
Nils Andreas Svee committed 2025-05-08 23:48:38 +07:00
1 parent 66e52b8792
commit 3b9f00cd75
2 files changed
+8 -9

No files matched your search

+4 -5
View File
@@ -1,9 +1,8 @@
use crate::netlink::{Netlink, NetlinkError, Qdisc}; use crate::netlink::{Netlink, NetlinkError, Qdisc};
use crate::{Config, ReflectorStats}; use crate::{Config, ReflectorStats};
use log::{debug, error, info, warn}; use log::{debug, error, info, warn};
use rand::seq::SliceRandom; use rand::seq::IndexedRandom;
use rand::thread_rng; use rand::{rng, RngCore};
use rand::RngCore;
use std::collections::HashMap; use std::collections::HashMap;
use std::fs::File; use std::fs::File;
use std::io::Write; use std::io::Write;
@@ -52,7 +51,7 @@ fn generate_initial_speeds(base_speed: f64, size: u32) -> Vec<f64> {
let mut rates = Vec::new(); let mut rates = Vec::new();
for _ in 0..size { for _ in 0..size {
rates.push((thread_rng().next_u64() as f64 * 0.2 + 0.75) * base_speed); rates.push((rng().next_u64() as f64 * 0.2 + 0.75) * base_speed);
} }
rates rates
@@ -190,7 +189,7 @@ impl Ratecontroller {
} }
if state.delta_stat > delay_ms { if state.delta_stat > delay_ms {
let mut rng = thread_rng(); let mut rng = rng();
match state.safe_rates.choose(&mut rng) { match state.safe_rates.choose(&mut rng) {
Some(rnd_rate) => { Some(rnd_rate) => {
state.next_rate = state.next_rate =
+4 -4
View File
@@ -1,7 +1,7 @@
use crate::{Config, ReflectorStats}; use crate::{Config, ReflectorStats};
use log::{debug, info}; use log::{debug, info};
use rand::seq::SliceRandom; use rand::{rng, Rng};
use rand::{thread_rng, Rng}; use rand::seq::IndexedRandom;
use std::collections::HashMap; use std::collections::HashMap;
use std::net::IpAddr; use std::net::IpAddr;
use std::sync::mpsc::Receiver; use std::sync::mpsc::Receiver;
@@ -24,7 +24,7 @@ impl ReflectorSelector {
let baseline_sleep_time = let baseline_sleep_time =
Duration::from_secs_f64(self.config.tick_interval * std::f64::consts::PI); Duration::from_secs_f64(self.config.tick_interval * std::f64::consts::PI);
let mut rng = thread_rng(); let mut rng = rng();
// Initial wait of several seconds to allow some OWD data to build up // Initial wait of several seconds to allow some OWD data to build up
sleep(baseline_sleep_time); sleep(baseline_sleep_time);
@@ -107,7 +107,7 @@ impl ReflectorSelector {
// Shuffle the deck so we avoid overwhelming good reflectors (Fisher-Yates) // Shuffle the deck so we avoid overwhelming good reflectors (Fisher-Yates)
for i in (1_usize..candidates.len()).rev() { for i in (1_usize..candidates.len()).rev() {
let j = rng.gen_range(0..(i + 1)); let j = rng.random_range(0..(i + 1));
candidates.swap(i, j); candidates.swap(i, j);
} }