code wiki / (root) / nx_game_page_sink_t221.nx

nx_game_page_sink_t221.nx

buildroot/runtime/nx_game_page_sink_t221.nx

7188 B153 linesdepth 4pulls 6 transitivereach 1 importersview sourcekind librarytopic game
docsdependenciesstructsconstsfunctions

about

ORIGINAL proprietary. Owned serialization dependency for the existing game-page emitter. See knowledge/gates/page-owned-sink-design-t221.md. Primitive qualification only; the current page template and its raw-buffer callers are not migrated yet.

dependencies 3 imports · 1 importers

nx_buf_dyn.nx nx_itoa_lib.nx nx_base64.nx nx_game_page_sink_t221.nx nx_game_page_sink_gate_t221.nx

imports: nx_buf_dyn.nxnx_itoa_lib.nxnx_base64.nx

imported by: nx_game_page_sink_gate_t221.nx

structs

8struct GpeSink { bytes:*NxBufOwned, error:i64, max_bytes:i64, scratch:*u8, scratch_cap:i64, }

consts

9const GPE_SINK_RECORD_BYTES:i64=__size_of(GpeSink)+NX_BO_BYTES
10const GPE_SINK_I64_MIN:i64=0-NX_BO_I64_MAX-1
11const GPE_SINK_BASE64_INPUT_QUANTUM:i64=3
12const GPE_SINK_BASE64_OUTPUT_QUANTUM:i64=4

functions

15func gpe_sink_new(max_bytes:i64)->*GpeSink
23func gpe_sink_fail(s:*GpeSink,rc:i64)->i64{if s.error==0{s.error=rc};return s.error}
24func gpe_sink_ready(s:*GpeSink)->i64
32func gpe_sink_room(s:*GpeSink,extra:i64)->i64
40func gpe_sink_source(s:*GpeSink,src:*u8,n:i64)->i64
52func gpe_sink_span(s:*GpeSink,src:*u8,n:i64)->i64
57func gpe_sink_byte(s:*GpeSink,value:i64)->i64
65func gpe_sink_text(s:*GpeSink,text:*u8,available:i64)->i64
71func gpe_sink_num(s:*GpeSink,value:i64)->i64
81func gpe_sink_scratch_release(s:*GpeSink)->i64
87func gpe_sink_scratch_new(s:*GpeSink,capacity:i64)->i64
94func gpe_sink_scratch_commit(s:*GpeSink,n:i64)->i64
102func gpe_sink_js(s:*GpeSink,src:*u8,n:i64)->i64
124func gpe_sink_base64_size(n:i64)->i64
131func gpe_sink_base64(s:*GpeSink,src:*u8,n:i64)->i64
142func gpe_sink_release(s:*GpeSink)->i64
150func gpe_sink_destroy(s:*GpeSink)->i64
called by 1: psg_drop calls 1: gpe_sink_release