scylla/cluster/
mod.rs

1//! This module holds entities that represent the cluster as a whole,
2//! nodes in the cluster (together with a pool of connections),
3//! the cluster's state, and logic for ruling out specific nodes.
4//!
5//! This includes:
6//! - node's representation ([Node]),
7//! - [metadata] representation, fetching and management, including:
8//!   - topology metadata,
9//!   - schema metadata,
10//    - tablet metadata,
11//! - [ClusterState], which is a snapshot of the cluster's state.
12//!   - [ClusterState] is replaced atomically upon a metadata refresh,
13//!     preventing any issues arising from mutability, including races.
14//  - [ControlConnection](control_connection::ControlConnection), which
15//    is the single connection used to fetch metadata and receive events
16//    from the cluster.
17
18mod worker;
19pub(crate) use worker::{use_keyspace_result, Cluster, ClusterNeatDebug};
20
21mod state;
22pub use state::ClusterState;
23
24pub(crate) mod node;
25pub use node::{KnownNode, Node, NodeAddr, NodeRef};
26
27mod control_connection;
28
29pub mod metadata;