pub struct LoadBalancer { /* private fields */ }
Expand description
Load balancer implementation
Implementations§
Source§impl LoadBalancer
impl LoadBalancer
Sourcepub fn new(strategy: LoadBalancingStrategy) -> Self
pub fn new(strategy: LoadBalancingStrategy) -> Self
Create a new load balancer
Sourcepub fn register_node(&self, nodeload: NodeLoad) -> CoreResult<()>
pub fn register_node(&self, nodeload: NodeLoad) -> CoreResult<()>
Register a node for load balancing
Sourcepub fn update_nodeload(
&self,
nodeid: &str,
cpu: f64,
memory: f64,
connections: usize,
latency: f64,
) -> CoreResult<()>
pub fn update_nodeload( &self, nodeid: &str, cpu: f64, memory: f64, connections: usize, latency: f64, ) -> CoreResult<()>
Update node load metrics
Sourcepub fn assign_task(&self, taskid: String) -> CoreResult<TaskAssignment>
pub fn assign_task(&self, taskid: String) -> CoreResult<TaskAssignment>
Assign a task to the best available node
Sourcepub fn get_statistics(&self) -> CoreResult<LoadBalancingStats>
pub fn get_statistics(&self) -> CoreResult<LoadBalancingStats>
Get load balancing statistics
Sourcepub fn get_all_nodes(&self) -> CoreResult<Vec<NodeLoad>>
pub fn get_all_nodes(&self) -> CoreResult<Vec<NodeLoad>>
Get all node loads
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LoadBalancer
impl RefUnwindSafe for LoadBalancer
impl Send for LoadBalancer
impl Sync for LoadBalancer
impl Unpin for LoadBalancer
impl UnwindSafe for LoadBalancer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more