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

pub trait ActorStream {
    type Item;
    type Actor: Actor;
    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>>; 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
, { ... }
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: Unpin + Sized
, { ... }
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
, { ... }
fn timeout(self, timeout: Duration) -> StreamTimeout<Self>
    where
        Self: Sized + Unpin
, { ... }
fn finish(self) -> StreamFinish<Self>
    where
        Self: Sized + Unpin
, { ... } }

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

The type of item this stream will yield on success.

type Actor: Actor

The actor within which this stream runs.

Loading content...

Required methods

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

Loading content...

Provided methods

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

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

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: Unpin + Sized

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

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

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

fn timeout(self, timeout: Duration) -> StreamTimeout<Self> where
    Self: Sized + Unpin

Add timeout to stream.

err value get returned as a timeout error.

fn finish(self) -> StreamFinish<Self> where
    Self: Sized + Unpin

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 + Unpin
[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 + Unpin,
    F: FnMut(S::Item, &mut S::Actor, &mut <S::Actor as Actor>::Context) -> U,
    U: IntoActorFuture<Actor = S::Actor>,
    U::Future: Unpin
[src]

type Item = U::Output

type Actor = S::Actor

Loading content...