code wiki / (root) / nx_apistack_idempotency_epoch_candidate_t293.nx

nx_apistack_idempotency_epoch_candidate_t293.nx

buildroot/runtime/nx_apistack_idempotency_epoch_candidate_t293.nx

12018 B218 linesdepth 7pulls 8 transitivereach 1 importersview sourcekind librarytopic apistack
docsdependenciesstructsconstsfunctions

about

Isolated preparation increment of the existing idempotency owner. PREPARED is never an execution permit. No default/latest epoch routing.

dependencies 2 imports · 1 importers

nx_apistack_idempotency.nx nx_itoa_lib.nx nx_apistack_idempotency_epoch_ nx_id_epoch_prepare_gate_t293.nx

imports: nx_apistack_idempotency.nxnx_itoa_lib.nx

imported by: nx_id_epoch_prepare_gate_t293.nx

structs

19struct NxIdEpochSpec
23struct NxIdEpochPrepared

consts

5const ID_EP_PRIVATE_MODE:i64=0x1c0 // POSIX0700 private namespace; not a resource ceiling.
6const ID_EP_O_DIRECTORY:i64=65536 // Linux open flag.
8const ID_EP_INVALID:i64=-120
9const ID_EP_UNKNOWN:i64=-121
10const ID_EP_CONFLICT:i64=-122
11const ID_EP_INCOMPLETE:i64=-123
12const ID_EP_BUSY:i64=-124
13const ID_EP_PREPARED_OBSERVED:i64=1
14const ID_EP_PREPARED_SYNCED:i64=2
15const ID_EP_FIELD_COUNT:i64=8
16const ID_EP_LENGTH_BYTES:i64=8
17const ID_EP_HASH_BYTES:i64=32
18const ID_EP_HASH_HEX:i64=64

functions

7func ie_open_directory(path:*u8)->i64{return __syscall(257,AT_FDCWD,path,ID_O_RDONLY|ID_EP_O_DIRECTORY|ID_O_NOFOLLOW|ID_O_CLOEXEC,0,0,0)}
29func ie_len(p:*u8)->i64{if (p as i64)<=0{return -1};var n:i64=0;while p[n]!=0 as u8{n=n+1};return n}
30func ie_valid(p:*u8)->i64
called by 1: ie_build calls 1: ie_len
34func ie_hex(p:*u8)->i64
called by 1: ie_build calls 1: ie_len
38func ie_init(r:*NxIdEpochPrepared)->i64
called by 2: ie_closeie_build
43func ie_close(r:*NxIdEpochPrepared)->i64
50func ie_fail(r:*NxIdEpochPrepared,state:i64,code:i64)->i64{r.state=state;r.system_code=code;return state}
51func ie_copy(out:*u8,at:i64,p:*u8,n:i64)->i64{var i:i64=0;while i<n{out[at+i]=p[i];i=i+1};return at+n}
called by 3: ie_pathie_buildmain
52func ie_u64(out:*u8,at:i64,value:i64)->i64
called by 1: ie_build
55func ie_hash_hex(p:*u8,n:i64,hex:*u8)->i64
61func ie_path(parent:*u8,suffix:*u8,outlen:*i64)->*u8
68func ie_build(root:*u8,s:*NxIdEpochSpec,r:*NxIdEpochPrepared)->i64
107func ie_open_regular(path:*u8,expected:i64,stat:*u8)->i64
117func ie_read_exact(fd:i64,p:*u8,n:i64)->i64
122func ie_verify_files(r:*NxIdEpochPrepared)->i64
144func ie_snapshot(s:*NxIdEpochSpec)->i64
162func ie_create_file(path:*u8,p:*u8,n:i64)->i64
171func ie_sync_existing(path:*u8,n:i64)->i64
called by 1: id_epoch_prepare calls 1: ie_open_regular
179func id_epoch_prepare(root:*u8,s:*NxIdEpochSpec,r:*NxIdEpochPrepared)->i64
207func id_epoch_resolve(root:*u8,s:*NxIdEpochSpec,r:*NxIdEpochPrepared)->i64