Skip to main content

SourceSet

Struct SourceSet 

Source
pub struct SourceSet<S>(/* private fields */);
Expand description

A composable collection of message sources (intervals and streams) for an actor.

Sources added earlier in the chain have higher polling priority. If an earlier source is consistently ready, later sources may be starved. In practice this rarely matters for intervals and moderate-throughput streams, but keep it in mind when combining a high-throughput stream with other sources.

Implementations§

Source§

impl<M: Send + 'static> SourceSet<NoStream<M>>

Source

pub fn new() -> Self

Source§

impl<S> SourceSet<S>

Source

pub fn interval<F, M>( self, interval: Interval, f: F, ) -> SourceSet<Merge<S, IntervalStream<F>>>
where F: Fn() -> M + Send + Unpin + 'static,

Source

pub fn stream<S2>(self, stream: S2) -> SourceSet<Merge<S, S2>>

Trait Implementations§

Source§

impl<M: Send + 'static> Default for SourceSet<NoStream<M>>

Source§

fn default() -> Self

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

impl<S> Stream for SourceSet<S>
where S: Stream + Unpin,

Source§

type Item = <S as Stream>::Item

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<S::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more

Auto Trait Implementations§

§

impl<S> Freeze for SourceSet<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for SourceSet<S>
where S: RefUnwindSafe,

§

impl<S> Send for SourceSet<S>
where S: Send,

§

impl<S> Sync for SourceSet<S>
where S: Sync,

§

impl<S> Unpin for SourceSet<S>
where S: Unpin,

§

impl<S> UnsafeUnpin for SourceSet<S>
where S: UnsafeUnpin,

§

impl<S> UnwindSafe for SourceSet<S>
where S: UnwindSafe,

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>,

Source§

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>,

Source§

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.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more
Source§

impl<S, A> Sources<A> for S
where A: Actor, S: Stream<Item = <A as Actor>::Msg> + Send + Unpin + 'static,