feat: implement real am_i_primary() with election probing, ha_is_primary(), ha_check_priority_stepdown()
- Replace stub am_i_primary() with real election probe logic - probe_thread(): non-blocking TCP connect with optional SSL handshake - wait_any_probe(): deadline-based spin-poll across all probe threads - am_i_primary(): priority-0 always primary; higher priorities probe lower-priority peers and self-promote if deadline expires - ha_is_primary(): lock-free role check - ha_check_priority_stepdown(): simultaneous-boot stepdown at term=0 - start/stop_heartbeat_listener(): stubs for Task 7 - ha_init(): explicit initialization of ssl_ctx/jitter_seed/standby_endpoints - TDD: add test_am_i_primary suite with 3 tests covering p0/p1 paths
This commit is contained in:
parent
8d86a1bcfe
commit
fe3cc57f27
3 changed files with 337 additions and 6 deletions
|
|
@ -20,6 +20,7 @@ extern void test_e2e_hooks(void);
|
|||
extern void test_e2e_gc(void);
|
||||
extern void test_e2e_capnp(void);
|
||||
extern void test_ha_role(void);
|
||||
extern void test_am_i_primary(void);
|
||||
extern void test_ha_cluster(void);
|
||||
extern void test_ha_redirect(void);
|
||||
extern void test_p1_integration(void);
|
||||
|
|
@ -121,6 +122,7 @@ int main(int argc, char* argv[])
|
|||
TEST(test_e2e_gc);
|
||||
TEST(test_e2e_capnp);
|
||||
TEST(test_ha_role);
|
||||
TEST(test_am_i_primary);
|
||||
TEST(test_ha_cluster);
|
||||
TEST(test_ha_redirect);
|
||||
TEST(test_p1_integration);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue