Struct sc_utils::status_sinks::StatusSinks

source ·
pub struct StatusSinks<T> { /* private fields */ }
Expand description

Holds a list of UnboundedSenders, each associated with a certain time period. Every time the period elapses, we push an element on the sender.

Senders are removed only when they are closed.

Implementations§

source§

impl<T> StatusSinks<T>

source

pub fn new() -> StatusSinks<T>

Builds a new empty collection.

source

pub fn push(&self, interval: Duration, sender: TracingUnboundedSender<T>)

Adds a sender to the collection.

The interval is the time period between two pushes on the sender.

source

pub async fn next(&self) -> ReadySinkEvent<'_, T>

Waits until one of the sinks is ready, then returns an object that can be used to send an element on said sink.

If the object isn’t used to send an element, the slot is skipped.

Trait Implementations§

source§

impl<T> Default for StatusSinks<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for StatusSinks<T>

§

impl<T> !RefUnwindSafe for StatusSinks<T>

§

impl<T> Send for StatusSinks<T>
where T: Send,

§

impl<T> Sync for StatusSinks<T>
where T: Send,

§

impl<T> Unpin for StatusSinks<T>

§

impl<T> !UnwindSafe for StatusSinks<T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.