myxce/src/include
Rongsong Shen 4903c83f28 feat: add PersistConfig, SnapshotHeader, ReplEnvelope Cap'n Proto schemas (P0-9)
Extends src/schema/controller.capnp with persistence structures needed
for WAL replication and snapshots:

- PersistConfig (8 fields, @0-@7): capnp-serialisable copy of the
  persistence configuration; mapped to capnp_persist_cfg_t to avoid
  collision with the plain-C persist_config_t in persist.h
- SnapshotHeader (9 fields, @0-@8): snapshot manifest with LSN, term,
  timestamp, record counts and checksums; mapped to capnp_snap_hdr_t
- ReplEnvelope (6 fields, @0-@5): replication wire envelope (NOT the
  on-disk format); named to avoid collision with wal_entry_hdr_t and
  the WALEntry_ internal symbol c-capnproto generates; mapped to
  capnp_repl_envelope_t

Also extends existing structs:
- Job.transientSince @11 (UInt64=0, mapname transient_since): set when
  job enters JOB_STAT_TRANSIENT; also adds uint64_t transient_since to
  xce_job_t in types.h
- Worker.deadSince @6 (UInt64=0, mapname dead_since): mirrors existing
  time_t dead_since field in xce_worker_t

OPCode enum extended with 7 replication opcodes @22-@28:
  replEntry, replAck, redirect, heartbeat, steppingDown,
  replSnapshot, replCatchUpDone

New C typedefs (capnp_persist_cfg_t, capnp_snap_hdr_t,
capnp_repl_envelope_t) added to typemap.h for the encode/decode shims.

TDD: test_persist_schema.c added (6 tests, all GREEN). Controller test
suite remains 1/1 PASS.
2026-05-07 10:19:33 +00:00
..
xce feat: add PersistConfig, SnapshotHeader, ReplEnvelope Cap'n Proto schemas (P0-9) 2026-05-07 10:19:33 +00:00
attrs.h improve xkvmgr and testsuite for scheduler 2026-02-26 14:39:12 +08:00
bitset.h - introduce bitset 2026-02-13 11:01:33 +08:00
client.h feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
clusterconfig.h support limit 2026-01-12 15:27:54 +08:00
config.h feat: add persistence/HA system constants to config.h with tests (P0-A) 2026-05-07 08:41:19 +00:00
configobj.h save works 2026-03-03 16:49:26 +08:00
dataq.h use nix build & meson & zlog 2025-11-03 18:19:59 +08:00
delay.h feat: rename delaymgr precision→precision_ms, replace sleep() with nanosleep() (P0-2b) 2026-05-07 09:08:03 +00:00
group.h save works 2026-03-03 16:49:26 +08:00
helper.h improve api server support 2026-01-23 17:33:10 +08:00
hook.h reformat code and job array 2025-11-07 16:14:27 +08:00
htab.h reformat code and job array 2025-11-07 16:14:27 +08:00
idgen.h jobid generate 2025-11-07 18:17:34 +08:00
jobj.h save works 2026-03-02 12:14:30 +08:00
kv.h use librtti for worker/queue/resource 2026-02-25 16:56:50 +08:00
kvmgr.h save works 2026-03-04 18:18:53 +08:00
misc.h 1st workable scheduler with resource from controller 2025-12-31 15:50:52 +08:00
myconf.h security communication with openssl and simplify netio 2025-11-18 11:26:36 +08:00
mylock.h use nix build & meson & zlog 2025-11-03 18:19:59 +08:00
netio.h fix pkt size problem and fmt_jobid 2025-12-24 17:56:45 +08:00
objs.h update controller code 2025-11-05 16:58:57 +08:00
ordq.h pass pend reason back to controller 2025-12-23 15:29:26 +08:00
persist.h fix: check rotate_segment return value; use uint32_t for CRC fields 2026-05-07 10:04:43 +00:00
preason.h scheduling using real slots number 2025-12-30 18:13:15 +08:00
qobj.h save works 2026-03-02 12:14:30 +08:00
request.h feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
resobj.h save works 2026-03-03 16:49:26 +08:00
resreq.h fix select eval ctx share 2026-05-07 04:37:18 +00:00
typemap.h feat: add PersistConfig, SnapshotHeader, ReplEnvelope Cap'n Proto schemas (P0-9) 2026-05-07 10:19:33 +00:00
utils.h save works 2026-03-03 16:49:26 +08:00
vtaskmgr.h security communication with openssl and simplify netio 2025-11-18 11:26:36 +08:00
wobj.h save works 2026-03-02 12:14:30 +08:00
xcealloc.h scheduling using real slots number 2025-12-30 18:13:15 +08:00
xceapi.h feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
xcectx.h support passing args to request handle for elimination of global var 2025-12-11 17:07:51 +08:00
xcelimit.h save works 2026-03-03 16:49:26 +08:00
xcelog.h use clang-format to format code 2025-11-25 14:58:09 +08:00
xlist.h support limit 2026-01-12 15:27:54 +08:00
xstring.h save works 2026-03-03 16:49:26 +08:00
xvec.h using xvec related api in scheduler 2026-01-16 18:21:37 +08:00
zarray.h use librtti for worker/queue/resource 2026-02-25 16:56:50 +08:00