code wiki / _hdl_build / nx_adnet_reconcile_gate.nx

nx_adnet_reconcile_gate.nx

buildroot/runtime/_hdl_build/nx_adnet_reconcile_gate.nx

5347 B98 linesdepth 6pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic adnet
docsdependenciesstructsconstsfunctions

about

nx_adnet_reconcile_gate.nx -- GATE for the spend reconciler (nx_adnet_reconcile). A reconciler is dangerous in two directions and both are teeth here: * DATA LOSS -- it must preserve comments, blanks and rows it cannot compute, BYTE-IDENTICAL. A reconciler that drops what it cannot parse is a data-loss bug wearing a maintenance-task costume. * SILENT REVIVAL -- an UNMEASURABLE spend must leave the old value alone, never write 0. Zeroing an exhausted campaign restarts spending against a budget that is already gone, which is the single worst thing this organ could do. expect_exit: 0 license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_adnet_reconcile.nx nx_gate_verdict.nx nx_adnet_reconcile_gate.nx

imports: nx_syscalls.nxnx_adnet_reconcile.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main tr_puts sys_write tr_slen sys_mmap tr_slen ↻ arec_refresh sys_mmap ↻ ad_eol aslot_field_b ad_tab aslot_id_ok ainv_spent_milli aslot_id_ok ↻ ainv_rate sys_mmap ↻ ad_eol ↻ aslot_field_b ↻ ainv_num ad_event_count ad_slen ad_eol ↻ anb_total_milli arec_row_with_spend ad_tab ↻ arec_catd sys_mmap ↻ tr_check tr_puts ↻ tr_has tr_slen ↻ tr_pn sys_mmap ↻ sys_write ↻ gv_ctr sys_mmap ↻ gv_verdict gv_puts sys_write ↻ gv_num

structs

none

consts

none

functions

13func tr_slen(s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { i = i + 1 } return i }
called by 3: tr_putstr_hasmain
14func tr_puts(s: *u8) -> i64 { sys_write(1, s, tr_slen(s)); return 0 }
called by 2: tr_checkmain calls 2: sys_writetr_slen
15func tr_pn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
27func tr_has(buf: *u8, n: i64, pat: *u8) -> i64
called by 1: main calls 1: tr_slen
41func tr_check(name: *u8, cond: i64) -> i64
called by 1: main calls 1: tr_puts
47func main() -> i64