scylla/client/mod.rs
1//! This module holds entities that represent the whole configurable
2//! driver's client of the cluster.
3//! The following abstractions are involved:
4//! - [Session](session::Session) - the main entity of the driver. It:
5//! - contains and manages all driver configuration,
6// - launches and communicates with [ClusterWorker] (see [cluster](crate::cluster) module for more info),
7//! - enables executing CQL requests, taking all configuration into consideration.
8//! - [SessionBuilder](session_builder::SessionBuilder) - just a convenient builder for a `Session`.
9//! - [CachingSession](caching_session::CachingSession) - a wrapper over a [Session](session::Session)
10//! that keeps and manages a cache of prepared statements, so that a user can be free of such considerations.
11//! - [SelfIdentity] - configuresd driver and application self-identifying information,
12//! to be sent in STARTUP message.
13//! - [ExecutionProfile](execution_profile::ExecutionProfile) - a profile that groups various configuration
14//! options relevant when executing a request against the DB.
15//! - [QueryPager](pager::QueryPager) and [TypedRowStream](pager::TypedRowStream) - entities that provide
16//! automated transparent paging of a query.
17
18pub mod execution_profile;
19
20pub mod pager;
21
22pub mod caching_session;
23
24mod self_identity;
25pub use self_identity::SelfIdentity;
26
27pub mod session;
28
29pub mod session_builder;
30
31pub use scylla_cql::frame::Compression;
32
33pub use crate::network::{PoolSize, WriteCoalescingDelay};