feat: multi-forwarder with SRTT-based failover #77

Merged
razvandimescu merged 4 commits from feat/multi-forwarder-failover into main 2026-04-11 05:26:59 +08:00
Showing only changes of commit 3a574e02d0 - Show all commits

View File

@@ -496,19 +496,15 @@ mod tests {
#[test] #[test]
fn maybe_update_primary_noop_when_same() { fn maybe_update_primary_noop_when_same() {
let mut pool = UpstreamPool::new( let mut pool =
vec![Upstream::Udp("1.2.3.4:53".parse().unwrap())], UpstreamPool::new(vec![Upstream::Udp("1.2.3.4:53".parse().unwrap())], vec![]);
vec![],
);
assert!(!pool.maybe_update_primary("1.2.3.4", 53)); assert!(!pool.maybe_update_primary("1.2.3.4", 53));
} }
#[test] #[test]
fn maybe_update_primary_rejects_invalid_addr() { fn maybe_update_primary_rejects_invalid_addr() {
let mut pool = UpstreamPool::new( let mut pool =
vec![Upstream::Udp("1.2.3.4:53".parse().unwrap())], UpstreamPool::new(vec![Upstream::Udp("1.2.3.4:53".parse().unwrap())], vec![]);
vec![],
);
assert!(!pool.maybe_update_primary("not-an-ip", 53)); assert!(!pool.maybe_update_primary("not-an-ip", 53));
assert_eq!(pool.preferred().unwrap().to_string(), "1.2.3.4:53"); assert_eq!(pool.preferred().unwrap().to_string(), "1.2.3.4:53");
} }