feat(controller-status): add per-controller connection-status field to CtrlPeer schema (task 8.1)

Adds CtrlPeer.status (UInt8, next free ordinal @3 after port) plus the
matching xce_ctrlpeer_t.status typemap field, verified field-for-field
against the regenerated codec with a genuine encode/decode round-trip
test. No sourcing/rendering logic yet (task 8.2/8.3) -- field defaults
to 0 (unknown) until wired.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
This commit is contained in:
Rongsong Shen 2026-09-16 14:12:04 +00:00
parent 8a1964d483
commit 1b278c0e9a
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2
4 changed files with 122 additions and 1 deletions

View file

@ -534,6 +534,10 @@ struct CtrlPeer $C.mapname("xce_ctrlpeer_t") {
name @0: Text;
host @1: Text;
port @2: UInt32;
status @3: UInt8 $C.mapname("status");
# 0=unknown 1=ok 2=catching-up 3=dead (Req 13.1). Always 1 (ok) for the
# responder's own entry (Req 13.2). On a non-primary responder, every
# entry but the responder's own is 0 (unknown) — Req 13.4/Locked Decision 5.
}
struct CtrlStatus $C.mapname("xce_ctrlstatus_t") {