Trait rsbalancer::Balancer

source ·
pub trait Balancer<T: Hash + Eq + Clone> {
    // Required methods
    fn add_node(&mut self, node: Node<T>) -> Result<(), DuplicatedKeyError>;
    fn remove_node(&mut self, id: &T) -> Result<(), NotFoundError>;
    fn contains_id(&mut self, id: &T) -> bool;
    fn get_node(&self, id: &T) -> Option<&Node<T>>;
    fn get_nodes(&self) -> Vec<&Node<T>>;
    fn set_down(&mut self, id: &T, down: bool) -> Result<(), NotFoundError>;
    fn next(&mut self) -> Option<&Node<T>>;
    fn next_id(&mut self) -> Option<&T>;
}

Required Methods§

source

fn add_node(&mut self, node: Node<T>) -> Result<(), DuplicatedKeyError>

source

fn remove_node(&mut self, id: &T) -> Result<(), NotFoundError>

source

fn contains_id(&mut self, id: &T) -> bool

source

fn get_node(&self, id: &T) -> Option<&Node<T>>

source

fn get_nodes(&self) -> Vec<&Node<T>>

source

fn set_down(&mut self, id: &T, down: bool) -> Result<(), NotFoundError>

source

fn next(&mut self) -> Option<&Node<T>>

source

fn next_id(&mut self) -> Option<&T>

Implementors§