pub struct DeliveryTracker { /* private fields */ }Expand description
Delivery tracker — records every delivery attempt per channel so success rates and history can be queried after the fact.
Implementations§
Source§impl DeliveryTracker
impl DeliveryTracker
Sourcepub fn record_delivery(&mut self, result: DeliveryResult)
pub fn record_delivery(&mut self, result: DeliveryResult)
Record a delivery attempt under its channel name.
Sourcepub fn get_delivery_history(&self, channel_name: &str) -> Vec<&DeliveryRecord>
pub fn get_delivery_history(&self, channel_name: &str) -> Vec<&DeliveryRecord>
Query the full delivery history for a channel, in insertion order.
Sourcepub fn success_rate(&self, channel_name: &str) -> f64
pub fn success_rate(&self, channel_name: &str) -> f64
Compute the success rate (0.0–1.0) for a channel. Returns 0.0 when the channel has no recorded deliveries.
Auto Trait Implementations§
impl Freeze for DeliveryTracker
impl RefUnwindSafe for DeliveryTracker
impl Send for DeliveryTracker
impl Sync for DeliveryTracker
impl Unpin for DeliveryTracker
impl UnsafeUnpin for DeliveryTracker
impl UnwindSafe for DeliveryTracker
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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