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:
+6
-2
@@ -5,7 +5,10 @@ use crate::pb::*;
|
||||
|
||||
impl GitBare {
|
||||
/// Find all refs pointing to a given OID.
|
||||
pub fn find_refs_by_oid(&self, request: FindRefsByOidRequest) -> GitResult<FindRefsByOidResponse> {
|
||||
pub fn find_refs_by_oid(
|
||||
&self,
|
||||
request: FindRefsByOidRequest,
|
||||
) -> GitResult<FindRefsByOidResponse> {
|
||||
crate::sanitize::validate_revision(&request.oid)?;
|
||||
|
||||
let mut args = vec![
|
||||
@@ -138,7 +141,8 @@ fn simple_glob_match(pattern: &str, name: &str) -> bool {
|
||||
star_pi = Some(pi);
|
||||
star_ni = ni;
|
||||
pi += 1;
|
||||
} else if pi < pat_bytes.len() && ni < name_bytes.len()
|
||||
} else if pi < pat_bytes.len()
|
||||
&& ni < name_bytes.len()
|
||||
&& (pat_bytes[pi] == b'?' || pat_bytes[pi] == name_bytes[ni])
|
||||
{
|
||||
pi += 1;
|
||||
|
||||
Reference in New Issue
Block a user