code wiki / (root) / nx_torrent_daemon_gate.nx

nx_torrent_daemon_gate.nx

buildroot/runtime/nx_torrent_daemon_gate.nx

10488 B154 linesdepth 6pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic torrent
docsdependenciesstructsconstsfunctions

about

nx_torrent_daemon_gate.nx -- SOVEREIGN verification of the MULTI-TORRENT /torrent daemon (X-TORRENT-UI-003). Drives the LIVE daemon via nx_http_client; asserts the surface, the login hide-fix, multi-torrent isolation (two DISTINCT magnets -> two independent rows, per-id pause/remove with no clobber), AND the browser urlencoded-form add path (bug#1 regression guard: the daemon's d_form_magnet decode, which the old JSON-only gate never exercised). NO bash/curl. Run: ./_offc/nx_sov_build_run.elf nx_torrent_daemon_gate (daemon must be UP via nx_torrent_up) license_tier: ORIGINAL layer: gate over L6 daemon module: nishi-core.torrent.daemon_gate depends: nishi-core.http_client, nishi-core.syscalls

dependencies 3 imports · 0 importers

nx_http_client.nx nx_connect.nx nx_gate_verdict.nx nx_torrent_daemon_gate.nx

imports: nx_http_client.nxnx_connect.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 g_get nx_http_client_sockaddr_ip nx_http_client_get sys_socket nx_connect_bounded nx_fcntl sys_connect sys_mmap sys_poll sys_close sys_mmap ↻ nx_http_client_build_reque hc_put_caps sys_mmap ↻ nx_codec_caps_headers sys_mmap ↻ nx_codec_caps_accept_docum nx_codec_caps_accept_encod nx_cc_put sys_write _drain sys_read g_strlen g_contains g_strlen ↻ g_report g_puts g_post sys_socket ↻ nx_http_client_sockaddr_ip ↻ nx_connect_bounded ↻ sys_set_socket_timeout sys_mmap ↻ sys_setsockopt sys_munmap nx_http_client_build_reque nx_dec_emit_u63 g_strlen ↻ _drain ↻

structs

none

consts

none

functions

14func g_puts(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: g_reportmain
15func g_putn(v: i64) -> i64
called by 1: main
22func g_strlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
23func g_contains(buf: *u8, n: i64, s: *u8) -> i64
called by 1: main calls 1: g_strlen
34func g_report(label: *u8, ok: i64) -> i64
called by 1: main calls 1: g_puts
38func g_get(path: *u8, buf: *u8, cap: i64) -> i64
43func g_post(path: *u8, body: *u8, blen: i64, buf: *u8, cap: i64) -> i64
59func g_post_form(path: *u8, body: *u8, blen: i64, buf: *u8, cap: i64) -> i64
73func main() -> i64