code wiki / _hdl_build / nx_video_swarm_probe.nx

nx_video_swarm_probe.nx

buildroot/runtime/_hdl_build/nx_video_swarm_probe.nx

11089 B198 linesdepth 20pulls 149 transitivereach 0 importersview sourcekind probetopic video
docsdependenciesstructsconstsfunctions

about

nx_video_swarm_probe.nx -- the TRUE fan-out load measurement (the 8-party hardware question). The ping-pong QoE probe measures per-flow cadence; THIS one measures what an 8-person family call actually does to the edge: 8 REAL TLS-1.3+WSS peers in ONE room (= the relay's per-room cap), peer P0 paces 6KB room-framed video frames at the target cadence, and the relay broadcast fans each frame to the 7 receivers -- 7x write amplification through sites.elf pumps + nx_signaling_v2, all TLS. Every receiver drains every frame before the next send (backpressure-safe). Read order ROTATES each frame so no receiver is systematically read last. Per-frame MAX across receivers = "everyone sees it by". TWO PASSES (2026-07-03, operator: "we want way more than a 20 fps setup"): 20fps (ledger continuity with the existing vqoe_swarm8_* baselines) THEN 60fps (the new ladder top rung, vqoe_swarm8f60_*) -- the 60fps pass is the honest transport proof for the lifted ladder. HONESTY BOUNDS (printed): 1-sender/7-receiver from ONE Texas LAN host; a full 8x8 mesh is 8x the send load (extrapolate, don't claim); Minsk legs are task #25. Ledger-reported (return-and-report). expect_exit: 0 = BOTH passes SOUND license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_ws_client_session.nx nx_video_client_wasm.nx nx_metric_ledger.nx nx_video_swarm_probe.nx

imports: nx_ws_client_session.nxnx_video_client_wasm.nxnx_metric_ledger.nx

imported by: nobody (leaf or entry point)

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

main sw nx_trust_store_load_from_c sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_nss_certdata_parse sys_mmap ↻ _pat_class_cert _pat_value_octal _pat_end _find_newline _starts_with _parse_octal_line sys_mmap ↻ _is_space _decode_octal_escape _is_octal trust_store_alloc sys_mmap ↻ nx_x509_trust_store_load sys_mmap ↻ x509_parse sys_mmap ↻ asn1_cursor_init asn1_expect_tag sys_mmap ↻ asn1_read_tlv_header asn1_read_tag asn1_read_length asn1_read_length ↻ x509_read_tlv sys_mmap ↻ asn1_expect_tag ↻ x509_read_alg_id sys_mmap ↻

structs

none

consts

17const SW_MAGIC_16384: i64 = 16384
18const SW_MAGIC_8192: i64 = 8192
19const SW_MAGIC_150000: i64 = 150000
20const SW_MAGIC_500000: i64 = 500000
21const SW_MAGIC_10000000: i64 = 10000000
22const SW_MAGIC_4194304: i64 = 4194304
23const SW_MAGIC_50000: i64 = 50000
24const SW_MAGIC_6000: i64 = 6000
25const SW_MAGIC_16666: i64 = 16666
27const SW_PEERS: i64 = 8 // room cap: 1 sender + 7 receivers
28const SW_FRAMES: i64 = 200
29const SW_PAY: i64 = 6000 // realistic ladder-frame payload

functions

31func sw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: swarm_passmain
32func sn(v: i64) -> i64
called by 1: swarm_pass
37func swsortn(a: *i64, n: i64) -> i64
called by 1: swarm_pass
54func swarm_pass(store: *TrustStore, url: *u8, intv_us: i64, pay_len: i64, tag: *u8, mn_p95: *u8, mn_worst: *u8, mn_fps: *u8, mn_late: *u8, mn_del: *u8) -> i64
174func main() -> i64