[][src]Trait actix::fut::ActorStream

pub trait ActorStream {
    type Item;
    type Actor: Actor;
    pub fn poll_next(
        self: Pin<&mut Self>,
        srv: &mut Self::Actor,
        ctx: &mut <Self::Actor as Actor>::Context,
        task: &mut Context<'_>
    ) -> Poll<Option<Self::Item>>; pub fn map<U, F>(self, f: F) -> StreamMap<Self, F>
    where
        F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
        Self: Sized
, { ... }
pub fn then<F, U>(self, f: F) -> StreamThen<Self, F, U>
    where
        F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
        U: IntoActorFuture<Actor = Self::Actor>,
        Self: Sized
, { ... }
pub fn fold<F, T, Fut>(self, init: T, f: F) -> StreamFold<Self, F, Fut, T>
    where
        F: FnMut(T, Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> Fut,
        Fut: IntoActorFuture<Actor = Self::Actor, Output = T>,
        Self: Sized
, { ... }
pub fn timeout(self, timeout: Duration) -> StreamTimeout<Self>
    where
        Self: Sized
, { ... }
pub fn finish(self) -> StreamFinish<Self>
    where
        Self: Sized
, { ... } }

A stream of values, not all of which may have been produced yet.

This is similar to futures_util::stream::Stream trait, except it works with Actor

Associated Types

type Item[src]

The type of item this stream will yield on success.

type Actor: Actor[src]

The actor within which this stream runs.

Loading content...

Required methods

pub fn poll_next(
    self: Pin<&mut Self>,
    srv: &mut Self::Actor,
    ctx: &mut <Self::Actor as Actor>::Context,
    task: &mut Context<'_>
) -> Poll<Option<Self::Item>>
[src]

Loading content...

Provided methods

pub fn map<U, F>(self, f: F) -> StreamMap<Self, F> where
    F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
    Self: Sized
[src]

Converts a stream of type T to a stream of type U.

pub fn then<F, U>(self, f: F) -> StreamThen<Self, F, U> where
    F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
    U: IntoActorFuture<Actor = Self::Actor>,
    Self: Sized
[src]

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f.

pub fn fold<F, T, Fut>(self, init: T, f: F) -> StreamFold<Self, F, Fut, T> where
    F: FnMut(T, Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> Fut,
    Fut: IntoActorFuture<Actor = Self::Actor, Output = T>,
    Self: Sized
[src]

Execute an accumulating computation over a stream, collecting all the values into one final result.

pub fn timeout(self, timeout: Duration) -> StreamTimeout<Self> where
    Self: Sized
[src]

Add timeout to stream.

err value get returned as a timeout error.

pub fn finish(self) -> StreamFinish<Self> where
    Self: Sized
[src]

Converts a stream to a future that resolves when stream finishes.

Loading content...

Implementors

impl<A: Actor> ActorStream for IntervalFunc<A>[src]

type Item = ()

type Actor = A

impl<S> ActorStream for StreamTimeout<S> where
    S: ActorStream
[src]

type Item = Result<S::Item, ()>

type Actor = S::Actor

impl<S, A> ActorStream for StreamWrap<S, A> where
    S: Stream,
    A: Actor
[src]

type Item = S::Item

type Actor = A

impl<S, F, U> ActorStream for StreamMap<S, F> where
    S: ActorStream,
    F: FnMut(S::Item, &mut S::Actor, &mut <S::Actor as Actor>::Context) -> U, 
[src]

type Item = U

type Actor = S::Actor

impl<S, F: 'static, U> ActorStream for StreamThen<S, F, U> where
    S: ActorStream,
    F: FnMut(S::Item, &mut S::Actor, &mut <S::Actor as Actor>::Context) -> U,
    U: IntoActorFuture<Actor = S::Actor>, 
[src]

type Item = U::Output

type Actor = S::Actor

Loading content...