scylla/policies/mod.rs
1//! This module holds policies, which are entities that allow configuring
2//! the driver's behaviour in various aspects. The common feature of all policies
3//! is that users can implement a policy on their own (because they simply need
4//! to implement a certain trait), allowing flexible customizability of the driver.
5//!
6//! This includes:
7//! - HostFilter, which is a way to filter out some nodes and thus
8//! not contact them at all on any condition.
9//! - AddressTranslator, which allows contacting a node through a different address
10//! than its broadcast address (e.g., when it's behind a NAT).
11//! - LoadBalancingPolicy, which decides which nodes and shards to contact for each
12//! request.
13//! - SpeculativeExecutionPolicy, which decides if the driver will send speculative
14//! requests to the next hosts when the current host takes too long to respond.
15//! - RetryPolicy, which decides whether and how to retry a request.
16//! - TODO
17
18pub mod address_translator;
19pub mod host_filter;
20pub mod load_balancing;
21pub mod retry;
22pub mod speculative_execution;
23pub mod timestamp_generator;