fix: rewrite seq/fec for federation-delivered packets
Some checks failed
Build Release Binaries / build-amd64 (push) Failing after 2m48s
Mirror to GitHub / mirror (push) Failing after 4m2s

- Time-based dedup (2s TTL) replaces fixed-window dedup — consecutive
  senders with same seq numbers no longer collide
- Raw byte forwarding for federation local delivery (no re-serialization)
- Jitter buffer resets on large backward seq jumps (>100)
- recv_media skips malformed datagrams instead of returning connection-closed
- SIGTERM handler for clean QUIC shutdown on wzp-client
- JSONL event log infrastructure (--event-log flag) for protocol analysis
- FEC disabled on GOOD profile for federation debugging (fec_ratio=0.0)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-04-08 21:55:06 +04:00
parent 1c684f6b47
commit f935bd69cd
10 changed files with 338 additions and 57 deletions

View File

@@ -105,10 +105,10 @@ pub struct QualityProfile {
}
impl QualityProfile {
/// Good conditions: Opus 24kbps, light FEC.
/// Good conditions: Opus 24kbps, FEC disabled for federation debugging.
pub const GOOD: Self = Self {
codec: CodecId::Opus24k,
fec_ratio: 0.2,
fec_ratio: 0.0,
frame_duration_ms: 20,
frames_per_block: 5,
};