From 8589a1c7dc1a2a399570a8332d871ea262dee699 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sun, 22 Feb 2026 12:12:09 +0700 Subject: [PATCH] feat(ratecontrol): Fallback to min rates --- src/ratecontroller.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/ratecontroller.rs b/src/ratecontroller.rs index 80c27d4..5f34879 100644 --- a/src/ratecontroller.rs +++ b/src/ratecontroller.rs @@ -332,6 +332,26 @@ impl Ratecontroller { } self.update_deltas(); + + if self.state_dl.deltas.is_empty() || self.state_ul.deltas.is_empty() { + warn!("No reflector data available, dropping to minimum rates"); + self.state_dl.next_rate = self.config.download_min_kbits; + self.state_ul.next_rate = self.config.upload_min_kbits; + + Netlink::set_qdisc_rate( + self.state_dl.qdisc, + self.state_dl.next_rate as u64, + )?; + Netlink::set_qdisc_rate( + self.state_ul.qdisc, + self.state_ul.next_rate as u64, + )?; + + self.state_dl.current_rate = self.state_dl.next_rate; + self.state_ul.current_rate = self.state_ul.next_rate; + continue; + } + self.calculate_rate(Direction::Down)?; self.calculate_rate(Direction::Up)?;