pub mod alert_rules;
pub mod cluster_command;
pub mod cluster_topology;
pub mod config;
pub mod encryption;
pub mod error;
pub mod failover;
pub mod heartbeat;
pub mod key_rotation;
pub mod log;
pub mod merkle;
pub mod metrics;
pub mod migration;
pub mod node;
pub mod partitioner;
pub mod persistence;
pub mod placement;
pub mod placement_scheduler;
pub mod placement_state_machine;
pub mod rpc;
pub mod shard;
pub mod snapshot;
pub mod state;
pub mod types;
pub mod wal;
pub use cluster_command::ClusterCommand;
pub use cluster_topology::{
ClusterTopology, NodeState as ClusterNodeState, NodeStatus, TopologyCollector,
};
pub use encryption::{EncryptedPayload, EntryEncryptor, LogEncryptionKey, LogIntegrityVerifier};
pub use error::{RaftError, RaftResult};
pub use failover::{
AlertCallback, AlertEvent, AlertManager, FailoverConfig, FailoverController,
FailoverCoordinator, FailoverEvent,
};
pub use alert_rules::{
AlertRule, AlertSeverity, AlertSink, CollectingSink, FiredAlert, LogSink, RuleEngine,
default_rules, event_dedup_key,
};
pub use heartbeat::FailureDetector;
pub use key_rotation::{KeyManager, KeyVersion, LEGACY_KEY_VERSION};
pub use log::{ApplyResult, Command, LogEntry, RaftLog, SnapshotData, StateMachine};
pub use merkle::{MerkleProof, MerkleTree};
pub use metrics::ClusterMetrics;
pub use migration::{Migration, MigrationStatus, MigrationTracker, compute_rebalance_plan};
pub use node::RaftNode;
pub use partitioner::{
PartitionStrategy, Partitioner, QueryPlan, QueryRouter, QueryStats, ResultMerger,
};
pub use persistence::{FilePersistence, MemoryPersistence, RaftPersistence};
pub use placement::{PlacementAction, PlacementCoordinator, PlacementPlan, PlacementPolicy};
pub use placement_scheduler::{
PlacementScheduler, PlacementSchedulerConfig, PlacementSchedulerHandle,
};
pub use placement_state_machine::PlacementStateMachine;
pub use rpc::{
AppendEntriesRequest, AppendEntriesResponse, RequestVoteRequest, RequestVoteResponse,
};
pub use shard::{
KeyRange, ShardId, ShardMerge, ShardMetadata, ShardRegistry, ShardSplit, ShardState,
ShardTransfer,
};
pub use snapshot::{
DiskSnapshotStore, InstallSnapshotRequest, InstallSnapshotResponse, Snapshot, SnapshotConfig,
SnapshotManager, SnapshotMetadata, SnapshotPolicy, SnapshotReceiver, SnapshotStore,
};
pub use state::{CandidateState, FencingTokenState, LeaderState, PersistentState, VolatileState};
pub use types::{
ClusterConfig, ConfigState, FailureEvent, FencingToken, HeartbeatConfig, LogIndex,
MembershipChange, NodeId, NodeState, RaftConfig, Term,
};
pub use wal::{CorruptionPolicy, SyncMode, WalDiagnostics, WalReader, WalWriter};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const NAME: &str = env!("CARGO_PKG_NAME");