pub struct LbPeer {
pub peer_id: String,
pub weight: u32,
pub active_connections: u32,
pub total_requests: u64,
pub total_errors: u64,
pub avg_latency_ms: f64,
pub healthy: bool,
pub last_used: u64,
}Expand description
Per-peer metadata tracked by AdaptiveLoadBalancer.
Fields§
§peer_id: StringUnique peer identifier.
weight: u32Routing weight; used by WeightedRoundRobin.
active_connections: u32Number of currently in-flight requests.
total_requests: u64Total requests ever dispatched to this peer.
total_errors: u64Total failed requests for this peer.
avg_latency_ms: f64Exponentially-weighted moving average latency (ms), alpha = 0.2.
healthy: boolWhether the peer is considered healthy.
last_used: u64Timestamp of last use (opaque u64, caller-supplied).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LbPeer
impl RefUnwindSafe for LbPeer
impl Send for LbPeer
impl Sync for LbPeer
impl Unpin for LbPeer
impl UnsafeUnpin for LbPeer
impl UnwindSafe for LbPeer
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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