myxce/src/controller/include/worker.h
Rongsong Shen 5b1600a8b2 feat(config-upgrade-snapshot): restore host admin-state frame safely (create-if-missing)
Adds restore_host_state(cluster_t*, const char*, uint32_t admin_status)
to worker.c: OR's admin bits into an existing worker's status on hit;
on miss, creates a minimal XCE_WORKER_UNAVAIL placeholder via
makeWorker (mirroring the lost_and_found sentinel host precedent),
with a valid non-NULL hostattrs_t so the host's later real join routes
through rejoin_worker (not init_worker) and preserves the restored
admin status. Idempotent under retry (find first, create only if
missing). Standalone -- not yet wired into load_snapshot (task 4).

Requirements: 1.10, 1.11, 5.8
2026-07-24 12:48:28 +00:00

18 lines
745 B
C

#if !defined(_WORKER_H_)
#define _WORKER_H_ 1
#include "config.h"
#include "mylock.h"
#include "netio.h"
#include "xce/types.h"
#include "zarray.h"
extern xce_hostconfig_t* find_matched_hostconfig(cluster_t*, const char*);
extern int init_worker(cluster_t*, endpoint_t*, const char*,
hostattrs_t*, xce_hostconfig_t*);
extern int rejoin_worker(cluster_t*, worker_t*, endpoint_t*,
hostattrs_t*, xce_hostconfig_t*);
extern int restore_worker(void*, xce_worker_t);
extern int restore_host_state(cluster_t*, const char*, uint32_t);
extern int worker_from_capnp(cluster_t*, const void*, size_t);
#endif