pub enum BandwidthEvent {
PeerAdded {
peer_id: String,
allocated_bps: u64,
timestamp: u64,
},
PeerRemoved {
peer_id: String,
timestamp: u64,
},
BandwidthUpdated {
peer_id: String,
new_bps: u64,
timestamp: u64,
},
CongestionDetected {
peer_id: String,
loss_ppm: u32,
timestamp: u64,
},
AllocationRevised {
timestamp: u64,
},
}Expand description
Events emitted by the allocator for observability and history queries.
Variants§
PeerAdded
A new peer has been added to the allocator.
PeerRemoved
A peer has been removed from the allocator.
BandwidthUpdated
A live bandwidth measurement was recorded for a peer.
CongestionDetected
Packet-loss congestion detected for a peer.
AllocationRevised
Allocations have been revised across all peers.
Implementations§
Trait Implementations§
Source§impl Clone for BandwidthEvent
impl Clone for BandwidthEvent
Source§fn clone(&self) -> BandwidthEvent
fn clone(&self) -> BandwidthEvent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 BandwidthEvent
impl RefUnwindSafe for BandwidthEvent
impl Send for BandwidthEvent
impl Sync for BandwidthEvent
impl Unpin for BandwidthEvent
impl UnsafeUnpin for BandwidthEvent
impl UnwindSafe for BandwidthEvent
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