pub struct LoadBalancer { /* private fields */ }Expand description
Load balancer that distributes requests across multiple providers
Implementations§
Source§impl LoadBalancer
impl LoadBalancer
Sourcepub fn new(providers: Vec<Box<dyn LlmProvider>>) -> Self
pub fn new(providers: Vec<Box<dyn LlmProvider>>) -> Self
Create a new load balancer with default round-robin strategy
Sourcepub fn with_weights(providers: Vec<(Box<dyn LlmProvider>, u32)>) -> Self
pub fn with_weights(providers: Vec<(Box<dyn LlmProvider>, u32)>) -> Self
Create a load balancer with weighted providers
Sourcepub fn with_strategy(self, strategy: LoadBalancingStrategy) -> Self
pub fn with_strategy(self, strategy: LoadBalancingStrategy) -> Self
Set the load balancing strategy
Sourcepub fn provider_count(&self) -> usize
pub fn provider_count(&self) -> usize
Get the number of providers
Sourcepub fn get_stats(&self) -> LoadBalancerStats
pub fn get_stats(&self) -> LoadBalancerStats
Get load balancer statistics
Trait Implementations§
Source§impl LlmProvider for LoadBalancer
impl LlmProvider for LoadBalancer
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