feat: implement push_config_to_standbys() — parallel fan-out via xce_replconfigpush_req_raw() using capn_new_list8 for raw bytes

This commit is contained in:
Rongsong Shen 2026-05-14 03:58:02 +00:00
parent 609314efa4
commit 2e2aaea78c
3 changed files with 190 additions and 26 deletions

View file

@ -59,4 +59,16 @@ extern int xce_runtask_req(endpoint_t*, xce_taskrun_t*);
extern int xce_set_pend_reason_req(endpoint_t*, xce_preason_set_t*);
extern int xce_clear_reason_req(endpoint_t*, xce_clear_reason_t*);
/*
* xce_replconfigpush_req_raw: send OP_replConfigPush carrying raw byte arrays.
* Bypasses the encode_ReplConfigPushRequest_ptr path (which maps sha256/bytes
* through xce_data_t — wrong type for raw bytes) by constructing the capnp
* message directly via capn_new_list8 + capn_setv8 + write_Request.
*/
extern int xce_replconfigpush_req_raw(endpoint_t *ep, xce_peerinfo_t *from,
uint64_t version_tag,
const uint8_t *sha256, size_t sha256_len,
const uint8_t *config_bytes,
size_t config_len);
#endif