Skip to main content

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 cluster;
19pub mod crdt;
20pub mod engine;
21pub mod hash;
22pub mod http_transport;
23pub mod log;
24pub mod node;
25pub mod partition;
26pub mod raft;
27pub mod router;
28pub mod shard;
29pub mod state;
30pub mod transaction;
31pub mod transport;
32pub mod vector_clock;
33
34pub use cluster::{Cluster, ClusterConfig, ClusterState};
35pub use crdt::{GCounter, GSet, LWWMap, LWWRegister, MVRegister, ORSet, PNCounter, TwoPSet, CRDT};
36pub use engine::ReplicationEngine;
37pub use hash::{ConsistentHash, HashRing, VirtualNode};
38pub use http_transport::HttpTransport;
39pub use log::{LogEntry, LogIndex, ReplicatedLog};
40pub use node::{NodeId, NodeInfo, NodeStatus};
41pub use partition::{PartitionKey, PartitionRange, PartitionStrategy};
42pub use raft::{RaftConfig, RaftNode, RaftState};
43pub use router::{RouteDecision, RoutingTable, ShardRouter};
44pub use shard::{Shard, ShardId, ShardManager, ShardState};
45pub use state::{
46    Command, CommandResult, CommandType, DatabaseOperationHandler, DatabaseStateMachine,
47    NoOpDatabaseHandler, Snapshot, StateMachine, StateMachineBackend,
48};
49pub use transaction::{
50    DistributedTransaction, TransactionCoordinator, TransactionId, TransactionState,
51};
52pub use transport::{Message, MessageType, Transport};
53pub use vector_clock::{
54    HybridClock, HybridTimestamp, LamportClock, VectorClock, VectorClockOrdering,
55};