Skip to main content

nodedb_cluster/
lib.rs

1pub mod bootstrap;
2pub mod catalog;
3pub mod circuit_breaker;
4pub mod cluster_info;
5pub mod conf_change;
6pub mod cross_shard_txn;
7pub mod distributed_document;
8pub mod distributed_graph;
9pub mod distributed_join;
10pub mod distributed_spatial;
11pub mod distributed_timeseries;
12pub mod distributed_vector;
13pub mod error;
14pub mod forward;
15pub mod ghost;
16pub mod ghost_sweeper;
17pub mod health;
18pub mod lifecycle;
19pub mod lifecycle_state;
20pub mod metadata_group;
21pub mod migration;
22pub mod migration_executor;
23pub mod multi_raft;
24pub mod quic_transport;
25pub mod raft_loop;
26pub mod raft_storage;
27pub mod rdma_transport;
28pub mod readiness;
29pub mod rebalance;
30pub mod rebalance_scheduler;
31pub mod routing;
32pub mod rpc_codec;
33pub mod shard_split;
34pub mod swim;
35pub mod topology;
36pub mod transport;
37pub mod vshard_handler;
38pub mod wire;
39
40pub use bootstrap::{ClusterConfig, ClusterState, JoinRetryPolicy, start_cluster};
41pub use catalog::ClusterCatalog;
42pub use cluster_info::{
43    ClusterInfoSnapshot, ClusterObserver, GroupSnapshot, GroupStatusProvider, PeerSnapshot,
44};
45pub use conf_change::{ConfChange, ConfChangeType};
46pub use error::{ClusterError, Result};
47pub use forward::{NoopPlanExecutor, PlanExecutor};
48pub use ghost::{GhostStub, GhostTable};
49pub use health::{HealthConfig, HealthMonitor};
50pub use lifecycle_state::{ClusterLifecycleState, ClusterLifecycleTracker};
51pub use migration::{MigrationPhase, MigrationState};
52pub use migration_executor::{
53    MigrationExecutor, MigrationRequest, MigrationResult, MigrationSnapshot, MigrationTracker,
54};
55pub use multi_raft::{GroupStatus, MultiRaft};
56pub use raft_loop::{CommitApplier, RaftLoop, VShardEnvelopeHandler};
57pub use rebalance::{RebalancePlan, compute_plan, plan_to_requests};
58pub use routing::RoutingTable;
59pub use rpc_codec::RaftRpc;
60pub use topology::{ClusterTopology, NodeInfo, NodeState};
61pub use transport::{NexarTransport, RaftRpcHandler};
62pub use wire::VShardEnvelope;
63
64pub use cross_shard_txn::{
65    CrossShardTransaction, ForwardEntry, GsiForwardEntry, TransactionCoordinator,
66};
67pub use metadata_group::{
68    CacheApplier, DescriptorHeader, DescriptorId, DescriptorKind, DescriptorLease, DescriptorState,
69    METADATA_GROUP_ID, MetadataApplier, MetadataCache, MetadataEntry, NoopMetadataApplier,
70    RoutingChange, TopologyChange, decode_entry, encode_entry,
71};
72pub use quic_transport::{QuicTransport, QuicTransportConfig};
73
74pub use distributed_join::{BroadcastJoinRequest, JoinStrategy, ShufflePartition, select_strategy};
75pub use lifecycle::{
76    DecommissionResult, handle_learner_promotion, handle_node_join, plan_decommission,
77};
78pub use rdma_transport::{RdmaConfig, RdmaTransport};
79pub use rebalance_scheduler::{NodeMetrics, RebalanceScheduler, RebalanceTrigger, SchedulerConfig};
80pub use shard_split::{SplitPlan, SplitStrategy, plan_graph_split, plan_vector_split};
81pub use swim::{
82    Incarnation, Member, MemberState, MembershipList, SwimConfig, SwimError, SwimHandle,
83    UdpTransport, spawn as spawn_swim,
84};