code wiki / (root) / nx_request_pool.nx

nx_request_pool.nx

buildroot/runtime/nx_request_pool.nx

8902 B243 linesdepth 3pulls 3 transitivereach 18 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

Single-owner IPC pool. Admission policy supplies capacity; this layer owns response-buffer reservations, message framing and child reaping.

dependencies 1 imports · 5 importers

nx_resource_arbiter.nx nx_request_pool.nx nx_mcp_pending.nx nx_mcp_pending_http_t174.nx nx_mcp_stdio.nx nx_mcp_stdio_http_t174.nx nx_mcp_stdio_sse_t316.nx

imports: nx_resource_arbiter.nx

imported by: nx_mcp_pending.nxnx_mcp_pending_http_t174.nxnx_mcp_stdio.nxnx_mcp_stdio_http_t174.nxnx_mcp_stdio_sse_t316.nx

structs

11struct NxRequestWorker
19struct NxRequestPool

consts

5const RP_CELL: i64 = 8 // current native ABI
6const RP_FD_MASK: i64 = 4294967295
7const RP_POLLIN: i64 = 1
8const RP_EINTR: i64 = -4
9const RP_SIGKILL: i64 = 9

functions

38func rp_worker(p: *NxRequestPool, slot: i64) -> *NxRequestWorker
42func rp_new(capacity: i64, response_bytes: i64) -> *NxRequestPool
65func rp_fork(p: *NxRequestPool) -> i64
111func rp_write(fd: i64, data: *u8, n: i64) -> i64
122func rp_release(p: *NxRequestPool, slot: i64) -> i64
137func rp_pump_timeout(p: *NxRequestPool, accept_input: i64, output_fd: i64, wait_ms: i64) -> i64
189func rp_stop_worker(p: *NxRequestPool, slot: i64) -> i64
196func rp_reap_stopped(p: *NxRequestPool, slot: i64) -> i64
209func rp_cancel_owned(p: *NxRequestPool, slot: i64, expected_pid: i64) -> i64
224func rp_cancel_all(p: *NxRequestPool) -> i64
243func rp_pump(p:*NxRequestPool,accept_input:i64,output_fd:i64)->i64 { return rp_pump_timeout(p,accept_input,output_fd,-1) }
called by 1: mp_recover_pump calls 1: rp_pump_timeout