feat(controller-status): handle_ctrlstatus read-only state snapshot + dispatch + configChecksum as Text hex (task 2.1)

This commit is contained in:
Rongsong Shen 2026-06-20 04:53:27 +00:00
parent 97a501e96e
commit a6e03d87ab
9 changed files with 502 additions and 3 deletions

View file

@ -79,6 +79,15 @@ extern int mark_worker_back(cluster_t*, worker_t*);
extern int handle_scheduler_leave(cluster_t*);
extern int handle_clusterconf(cluster_t*, endpoint_t*, xce_request_t*);
/* controller-status spec (task 2.1): read-only status query.
* ctrlstatus_fill snapshots local HA/config state into *st (no I/O, no state
* mutation); ctrlstatus_free_fields releases what fill allocated (the peer
* pointer array). handle_ctrlstatus is the dispatch entry point that fills,
* replies via xce_reply, then frees. */
extern void ctrlstatus_fill(cluster_t*, xce_ctrlstatus_t*);
extern void ctrlstatus_free_fields(xce_ctrlstatus_t*);
extern int handle_ctrlstatus(cluster_t*, endpoint_t*, xce_request_t*);
extern void collect_confvars(cluster_t*, collect_check_fn_t, xlist_t*);
extern void collect_queues(cluster_t*, collect_check_fn_t, xlist_t*);
extern void collect_resources(cluster_t*, collect_check_fn_t, xlist_t*);