code wiki / (root) / nx_pathstripe_test.nx

nx_pathstripe_test.nx

buildroot/runtime/nx_pathstripe_test.nx

3785 B90 linesdepth 5pulls 5 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_pathstripe_test.nx -- 1:1 KAT for multi-path striping / seamless protection switching (nx_pathstripe.nx). Proves SMPTE-2022-7-class behaviour: with two paths whose losses DISJOINT, every packet is delivered exactly once in order with ZERO recovery time; a packet lost on ALL paths is honestly reported lost (never blocks); duplicates are deduped; and top-K striping picks the best-quality paths. expect_exit: 0 license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_pathstripe.nx nx_pathstripe_test.nx

imports: nx_pathstripe.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main stripe_rx_init feed_path dropped stripe_rx_arrive stripe_rx_drain stripe_rx_finalize stripe_rx_arrive ↻ stripe_rx_drain ↻ mk_flow lq_flow_new sys_mmap stripe_select_topk lq_score lq_srtt_ms lq_jitter_ms lq_loss_pct stripe_k_for_loss

structs

none

consts

13const PW: i64 = 64 // reorder window
14const PN: i64 = 16 // packets in the stream

functions

16func dropped(seq: i64, d0: i64, d1: i64, d2: i64) -> i64
called by 1: feed_path
23func feed_path(rx: *StripeRx, slots: *i64, log: *i64, d0: i64, d1: i64, d2: i64) -> i64
34func mk_flow(srtt: i64, jit: i64, loss_q16: i64) -> *LinkFlow
called by 1: main calls 1: lq_flow_new
42func main() -> i64