nx_pathstripe.nx
buildroot/runtime/nx_pathstripe.nx
about
nx_pathstripe.nx -- the RELIABILITY pillar: multi-path STRIPING with
seamless protection switching (SMPTE 2022-7 / IEEE 802.1CB FRER,
re-implemented from spec). Promotes nx_mediapath from best-path
SELECTION to best-K STRIPING: each packet is sent over the top-K
quality paths with a global sequence number; the receiver DEDUPES and
REORDERS by seq, so a loss on any one path is instantly covered by
another copy -- ZERO recovery time (no retransmit RTT, unlike ARQ).
This is the critical-grade exceed beyond SRT 1+1, matching RIST any-N.
Pure/deterministic receiver core -> KAT-able offline. Integer-only,
sovereign (composes nx_mediapath + nx_linkqual; raw syscalls only).
Combines with nx_fec_xor: stripe FEC repair symbols across paths so two
lossy paths reconstruct one clean stream (next increment).
license_tier: ORIGINAL
dependencies 1 imports · 1 importers
imports: nx_mediapath.nx
imported by: nx_pathstripe_test.nx
structs
| 60 | struct StripeRx { base: i64, delivered: i64, lost: i64 } |
consts
| 61 | const STRIPE_RX_BYTES: i64 = 24 |
functions
| 23 | func stripe_select_topk(flows: *i64, n: i64, k: i64, out_idx: *i64) -> i64 |
| 49 | func stripe_k_for_loss(loss_pct: i64, n_paths: i64) -> i64 called by 1: main |
| 63 | func stripe_rx_init(rx: *StripeRx, slots: *i64, w: i64) -> i64 called by 1: main |
| 71 | func stripe_rx_arrive(rx: *StripeRx, slots: *i64, w: i64, seq: i64) -> i64 |
| 81 | func stripe_rx_drain(rx: *StripeRx, slots: *i64, w: i64, log: *i64) -> i64 |
| 98 | func stripe_rx_finalize(rx: *StripeRx, slots: *i64, w: i64, n: i64, log: *i64) -> i64 called by 1: main |