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>;
}