9a0c26e5f6
- Add voting mechanism with term tracking and vote persistence - Implement election triggering logic with majority vote counting - Add primary/replica role transition handling with state management - Integrate health check failure detection for automatic elections - Refactor actor messaging system for distributed coordination - Update repository registration to query cluster for existing primary - Add broadcast mechanism for role change notifications - Implement proper term comparison and duplicate request filtering - Upgrade dependency versions including tokio-util for async utilities - Optimize code formatting and line wrapping for improved readability - Remove redundant blank lines and improve code structure consistency - Enhance error logging and trace information for debugging purposes
16 lines
536 B
Rust
16 lines
536 B
Rust
pub mod handler;
|
|
pub mod message;
|
|
pub mod server;
|
|
pub mod sync;
|
|
|
|
pub use handler::find_primary_in_cluster;
|
|
pub use handler::{
|
|
GitNodeActor, GitNodeArgs, RepoEntry, broadcast_ref_update, broadcast_role_changed,
|
|
get_category_members, get_cluster_nodes, list_all_groups, route_group_for, start_node_actor,
|
|
};
|
|
pub use message::{
|
|
ElectionRequest, ElectionResult, GitNodeMessage, NodeHealth, ROLE_PRIMARY, ROLE_REPLICA,
|
|
RefUpdateEvent, RepoActorMessage, RoleChangedEvent, RouteDecision,
|
|
};
|
|
pub use server::init_actor_cluster;
|