aegis_replication/
lib.rs

1//! Aegis Replication - Distributed Systems
2//!
3//! Raft-based consensus and replication for distributed Aegis deployments.
4//! Provides leader election, log replication, sharding, and distributed transactions.
5//!
6//! Key Features:
7//! - Raft consensus algorithm implementation
8//! - Multi-master replication support
9//! - Consistent hashing and sharding
10//! - Distributed transactions (2PC)
11//! - Vector clocks for causality tracking
12//! - CRDTs for conflict-free replication
13//! - Automatic failover and recovery
14//!
15//! @version 0.1.0
16//! @author AutomataNexus Development Team
17
18pub mod raft;
19pub mod log;
20pub mod state;
21pub mod node;
22pub mod cluster;
23pub mod transport;
24pub mod engine;
25pub mod hash;
26pub mod shard;
27pub mod partition;
28pub mod router;
29pub mod transaction;
30pub mod vector_clock;
31pub mod crdt;
32
33pub use raft::{RaftNode, RaftState, RaftConfig};
34pub use log::{LogEntry, LogIndex, ReplicatedLog};
35pub use state::{StateMachine, Command, CommandResult};
36pub use node::{NodeId, NodeInfo, NodeStatus};
37pub use cluster::{Cluster, ClusterConfig, ClusterState};
38pub use transport::{Message, MessageType, Transport};
39pub use engine::ReplicationEngine;
40pub use hash::{ConsistentHash, HashRing, VirtualNode};
41pub use shard::{Shard, ShardId, ShardManager, ShardState};
42pub use partition::{PartitionKey, PartitionStrategy, PartitionRange};
43pub use router::{ShardRouter, RoutingTable, RouteDecision};
44pub use transaction::{TransactionId, TransactionState, TransactionCoordinator, DistributedTransaction};
45pub use vector_clock::{VectorClock, VectorClockOrdering, HybridClock, HybridTimestamp, LamportClock};
46pub use crdt::{CRDT, GCounter, PNCounter, GSet, TwoPSet, LWWRegister, MVRegister, ORSet, LWWMap};