78e74f6ceb
Rework the client READMEs to be accurate and inviting to first-time
visitors, and fill in the gaps where crates and tools had none.
- Rewrite clients/{apple,android,decky} READMEs (features-first, trim
dense internal narrative; drop the stale "one session at a time" /
"renegotiation not implemented" section from the Apple README).
- Add READMEs for clients/{linux,windows,probe}, which had none.
- Add crate READMEs for punktfunk-host, punktfunk-core, pf-driver-proto.
- Add brief READMEs for tools/{loss-harness,latency-probe}.
- Fix packaging/README duplicate "Option B" heading (bootc -> Option C).
- Fix docs-site/README stale docs/ -> design/ reference.
- De-stale packaging/windows/drivers/pf-dualsense README (drop "M0 spike"
/ external-checkout framing; reflect in-tree workspace + shipped +
installer-bundled + multi-pad), keeping the driver-authoring lore.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 lines
729 B
Markdown
17 lines
729 B
Markdown
# loss-harness
|
|
|
|
A **FEC loss-resilience sweep** for [`punktfunk-core`](../../crates/punktfunk-core/README.md). It
|
|
drives access units through the in-process loopback at increasing packet-loss rates — for **both** FEC
|
|
schemes (GF(2⁸) and GF(2¹⁶)) — and reports how many frames survive.
|
|
|
|
It's a pure-software stand-in for `tc netem`: no network, no root, runs anywhere `punktfunk-core`
|
|
builds. Use it to sanity-check the FEC before reaching for the real `punktfunk/1` harness (which adds
|
|
`tc netem` jitter/reorder on the UDP path).
|
|
|
|
```sh
|
|
cargo run -p loss-harness # from the repo root
|
|
```
|
|
|
|
Part of the measurement tooling (design/implementation-plan §10), alongside
|
|
[`latency-probe`](../latency-probe/README.md).
|