pub struct IPClientLoadBalancer { /* private fields */ }Expand description
Load balancer for reqwest::Client instances bound to specific IP addresses.
Supports limits per client and optional interval-based resets.
Implementations§
Source§impl IPClientLoadBalancer
impl IPClientLoadBalancer
Sourcepub fn new(entries: Vec<(u64, Client)>) -> Self
pub fn new(entries: Vec<(u64, Client)>) -> Self
Create a new load balancer with fixed clients and limits.
Sourcepub fn new_interval(entries: Vec<(u64, Client)>, interval: Duration) -> Self
pub fn new_interval(entries: Vec<(u64, Client)>, interval: Duration) -> Self
Create a new load balancer with a custom interval for resetting limits.
Sourcepub fn with_ipv4_interval(limit: u64, interval: Duration) -> Self
pub fn with_ipv4_interval(limit: u64, interval: Duration) -> Self
Build a load balancer using IPv4 addresses with a custom interval.
Sourcepub fn with_ipv6_interval(limit: u64, interval: Duration) -> Self
pub fn with_ipv6_interval(limit: u64, interval: Duration) -> Self
Build a load balancer using IPv6 addresses with a custom interval.
Sourcepub fn with_ipv4_timeout(limit: u64, timeout: Duration) -> Self
pub fn with_ipv4_timeout(limit: u64, timeout: Duration) -> Self
Build a load balancer using IPv4 addresses with a per-client timeout.
Sourcepub fn with_ipv4_interval_timeout(
limit: u64,
interval: Duration,
timeout: Duration,
) -> Self
pub fn with_ipv4_interval_timeout( limit: u64, interval: Duration, timeout: Duration, ) -> Self
Build a load balancer using IPv4 addresses with interval and timeout.
Sourcepub fn with_ipv6_timeout(limit: u64, timeout: Duration) -> Self
pub fn with_ipv6_timeout(limit: u64, timeout: Duration) -> Self
Build a load balancer using IPv6 addresses with a per-client timeout.
Sourcepub fn with_ipv6_interval_timeout(
limit: u64,
interval: Duration,
timeout: Duration,
) -> Self
pub fn with_ipv6_interval_timeout( limit: u64, interval: Duration, timeout: Duration, ) -> Self
Build a load balancer using IPv6 addresses with interval and timeout.
Trait Implementations§
Source§impl BoxLoadBalancer<Client> for IPClientLoadBalancer
impl BoxLoadBalancer<Client> for IPClientLoadBalancer
Source§impl Clone for IPClientLoadBalancer
impl Clone for IPClientLoadBalancer
Source§fn clone(&self) -> IPClientLoadBalancer
fn clone(&self) -> IPClientLoadBalancer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IPClientLoadBalancer
impl !RefUnwindSafe for IPClientLoadBalancer
impl Send for IPClientLoadBalancer
impl Sync for IPClientLoadBalancer
impl Unpin for IPClientLoadBalancer
impl !UnwindSafe for IPClientLoadBalancer
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