forked from lei.chen/myxce
feat: P2-4 wire repl_broadcast into persist_wal_async/sync_append; last_replicated_crc
- Move repl.h from controller/ to include/ (shared header) to break persist.h ↔ repl.h circular include - Extract wal_entry_hdr_t + wal_entry_type into include/wal_types.h so repl.h can include only what it needs without pulling in all of persist.h - Add replicator_t repl field to persist_t (embedded by value, P2-4) - Wire repl_init/repl_fini into persist_init/persist_fini lifecycle - Wire repl_broadcast into persist_wal_async after each WAL write; last_replicated_crc updated here (not in persist_write_checkpoint_marker) - Wire repl_wait_ack into persist_wal_sync_append; returns 0 on local WAL success; sync_rc_out carries -ENODEV/-ETIMEDOUT for degraded mode - Add 4 TDD tests in test_persist_repl.c: structural repl field check, async no-standbys succeeds, sync degraded mode rc, checkpoint CRC invariant
This commit is contained in:
parent
d326ee1b2e
commit
3563d7387b
7 changed files with 228 additions and 41 deletions
|
|
@ -25,6 +25,7 @@ extern void test_ha_redirect(void);
|
|||
extern void test_p1_integration(void);
|
||||
extern void test_repl_unit(void);
|
||||
extern void test_repl_apply(void);
|
||||
extern void test_persist_repl(void);
|
||||
|
||||
void setUp(void) { return; }
|
||||
|
||||
|
|
@ -119,6 +120,7 @@ int main(int argc, char* argv[])
|
|||
TEST(test_p1_integration);
|
||||
TEST(test_repl_unit);
|
||||
TEST(test_repl_apply);
|
||||
TEST(test_persist_repl);
|
||||
|
||||
return UNITY_END();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue