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

4 Commits

Author SHA1 Message Date
Razvan Dimescu
3a574e02d0 style: rustfmt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 00:18:57 +03:00
Razvan Dimescu
7d6028a0c2 refactor: extract maybe_update_primary for testable upstream re-detection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 00:18:48 +03:00
Razvan Dimescu
c3c11c40db refactor: simplify failover candidate list and deduplicate recursive pool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 23:45:34 +03:00
Razvan Dimescu
db80d9f8f9 feat: multi-forwarder with SRTT-based failover
address accepts string or array, with optional per-server port override.
New fallback pool tried only when all primaries fail. Sequential failover
with SRTT ranking ensures fastest upstream is tried first.

Closes #34 (items 1, 2, 3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:16:56 +03:00