chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family
Pre-existing uncommitted work: ha-repl-hardening payload data plane (7.x), heartbeat liveness fix (Req 1.3), connection-reuse ASAN fixes, doc cleanup. New: ha-consistency-invariants umbrella (requirements/design/research) and its four implementation sub-specs (specs generated via batch, cross-spec review applied), steering roadmap + product.md Raft+CP decision.
This commit is contained in:
parent
084244941b
commit
06135954ff
88 changed files with 25611 additions and 5285 deletions
|
|
@ -112,6 +112,47 @@ extern int xce_replconfig_reply_ssl_decode(SSL *ssl,
|
|||
*/
|
||||
extern void xce_free_request(xce_request_t *req);
|
||||
|
||||
/*
|
||||
* xce_wal_batch_encode_raw / xce_wal_batch_req_raw: encode/send an
|
||||
* OPCode_walCatchupEntry batch carrying raw WAL payload bytes.
|
||||
*
|
||||
* Bypasses the generated encode path (payload :Data cannot be carried
|
||||
* through xce_data_t — same limitation as replConfigPush). Each
|
||||
* entries[i]->raw_payload/raw_payload_len is written as a capnp Data
|
||||
* (List(UInt8)); the legacy xce_data_t payload field is ignored.
|
||||
* The receiver's xce_decode() extracts the bytes back into
|
||||
* raw_payload/raw_payload_len on each decoded sub-entry.
|
||||
*
|
||||
* encode_raw fills pkt (caller frees via free_packet on error paths);
|
||||
* req_raw allocates the packet and enqueues it on ep (non-blocking).
|
||||
*/
|
||||
extern int xce_wal_batch_encode_raw(wal_catchup_entry_t **entries,
|
||||
int n_entries,
|
||||
xce_peerinfo_t *from,
|
||||
uint64_t seq,
|
||||
io_packet_t *pkt);
|
||||
extern int xce_wal_batch_req_raw(endpoint_t *ep,
|
||||
wal_catchup_entry_t **entries,
|
||||
int n_entries);
|
||||
|
||||
/*
|
||||
* xce_snapshot_chunk_encode_raw / xce_snapshot_chunk_req_raw: encode/send
|
||||
* an OPCode_snapshotTransfer chunk carrying raw snapshot file bytes.
|
||||
* Same raw-Data convention as xce_wal_batch_req_raw; chunk envelope
|
||||
* fields (snapshot_lsn, chunk_index, chunk_offset, total_size, is_last)
|
||||
* are taken from *chunk, payload bytes from payload/payload_len.
|
||||
*/
|
||||
extern int xce_snapshot_chunk_encode_raw(const snapshot_transfer_t *chunk,
|
||||
const uint8_t *payload,
|
||||
size_t payload_len,
|
||||
xce_peerinfo_t *from,
|
||||
uint64_t seq,
|
||||
io_packet_t *pkt);
|
||||
extern int xce_snapshot_chunk_req_raw(endpoint_t *ep,
|
||||
const snapshot_transfer_t *chunk,
|
||||
const uint8_t *payload,
|
||||
size_t payload_len);
|
||||
|
||||
/*
|
||||
* xce_upgrade_config_req_extract: extract sha256 + bytes from a decoded
|
||||
* OP_upgradeConfig request. xce_decode() stores malloc'd copies in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue