refactor(actor): implement Raft consensus algorithm for cluster leader election
- 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
This commit is contained in:
@@ -19,7 +19,10 @@ impl GitBare {
|
||||
pub(crate) fn commit_to_pb(gb: &GitBare, commit: &gix::Commit<'_>, include_raw: bool) -> Commit {
|
||||
let hex = commit.id.to_string();
|
||||
let tree_hex = commit.tree_id().map(|t| t.to_string()).unwrap_or_default();
|
||||
let message = commit.message_raw().map(|m| m.to_string()).unwrap_or_default();
|
||||
let message = commit
|
||||
.message_raw()
|
||||
.map(|m| m.to_string())
|
||||
.unwrap_or_default();
|
||||
let (subject, body) = message
|
||||
.split_once('\n')
|
||||
.map(|(s, b)| (s.to_string(), b.trim_start_matches('\n').to_string()))
|
||||
@@ -74,4 +77,4 @@ pub(crate) fn gix_sig_to_pb(sig: &gix::actor::SignatureRef<'_>) -> crate::pb::Si
|
||||
}),
|
||||
timezone_offset: time.map(|t| t.offset / 60).unwrap_or(0),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user