cdrs_temp/load_balancing/
mod.rs1mod random;
2mod round_robin;
3mod round_robin_sync;
4mod single_node;
5
6pub use crate::load_balancing::random::Random;
7pub use crate::load_balancing::round_robin::RoundRobin;
8pub use crate::load_balancing::round_robin_sync::RoundRobinSync;
9pub use crate::load_balancing::single_node::SingleNode;
10
11pub trait LoadBalancingStrategy<N>: Sized {
12 fn init(&mut self, cluster: Vec<N>);
13 fn next(&self) -> Option<&N>;
14 fn remove_node<F>(&mut self, _filter: F)
15 where
16 F: FnMut(&N) -> bool,
17 {
18 }
20}