[][src]Trait cdrs_tokio::load_balancing::LoadBalancingStrategy

pub trait LoadBalancingStrategy<N>: Sized {
    fn init(&mut self, cluster: Vec<Arc<N>>);
fn next(&self) -> Option<Arc<N>>; fn remove_node<F>(&mut self, _filter: F)
    where
        F: FnMut(&N) -> bool
, { ... } }

Required methods

fn init(&mut self, cluster: Vec<Arc<N>>)

fn next(&self) -> Option<Arc<N>>

Loading content...

Provided methods

fn remove_node<F>(&mut self, _filter: F) where
    F: FnMut(&N) -> bool

Loading content...

Implementors

impl<N> LoadBalancingStrategy<N> for Random<N> where
    N: Sync
[src]

fn next(&self) -> Option<Arc<N>>[src]

Returns next random node from a cluster

impl<N> LoadBalancingStrategy<N> for RoundRobin<N> where
    N: Sync + Send
[src]

fn next(&self) -> Option<Arc<N>>[src]

Returns next node from a cluster

impl<N> LoadBalancingStrategy<N> for SingleNode<N> where
    N: Sync + Send
[src]

fn next(&self) -> Option<Arc<N>>[src]

Returns first node from a cluster

Loading content...