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

pub trait ActorStream {
    type Item;
    type Error;
    type Actor: Actor;
    fn poll(
        &mut self,
        srv: &mut Self::Actor,
        ctx: &mut <Self::Actor as Actor>::Context
    ) -> Poll<Option<Self::Item>, Self::Error>; 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 map_err<E, F>(self, f: F) -> StreamMapErr<Self, F>
    where
        F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
        Self: Sized
, { ... }
fn then<F, U>(self, f: F) -> StreamThen<Self, F, U>
    where
        F: FnMut(Result<Self::Item, Self::Error>, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
        U: IntoActorFuture<Actor = Self::Actor>,
        Self: Sized
, { ... }
fn and_then<F, U>(self, f: F) -> StreamAndThen<Self, F, U>
    where
        F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
        U: IntoActorFuture<Error = Self::Error, Actor = Self::Actor>,
        Self: 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, Item = T>,
        Self::Error: From<Fut::Error>,
        Self: Sized
, { ... }
fn timeout(self, timeout: Duration, err: Self::Error) -> StreamTimeout<Self>
    where
        Self: Sized,
        Self::Error: Clone
, { ... }
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::Stream trait, except it works with Actor

Associated Types

type Item

The type of item this stream will yield on success.

type Error

The type of error this stream may generate.

type Actor: Actor

The actor within which this stream runs.

Loading content...

Required methods

fn poll(
    &mut self,
    srv: &mut Self::Actor,
    ctx: &mut <Self::Actor as Actor>::Context
) -> Poll<Option<Self::Item>, Self::Error>

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 map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized

Converts a stream of error type T to a stream of error type E.

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

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

fn and_then<F, U>(self, f: F) -> StreamAndThen<Self, F, U> where
    F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
    U: IntoActorFuture<Error = Self::Error, Actor = Self::Actor>,
    Self: Sized

Chain on a computation for when a value is ready, passing the successful results 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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized

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

fn timeout(self, timeout: Duration, err: Self::Error) -> StreamTimeout<Self> where
    Self: Sized,
    Self::Error: Clone

Add timeout to stream.

err value get returned as a timeout error.

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

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 Error = ()

type Actor = A

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

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

type Item = S::Item

type Error = S::Error

type Actor = S::Actor

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

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

type Item = S::Item

type Error = S::Error

type Actor = A

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

impl<S, F, U> ActorStream for StreamAndThen<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, Error = S::Error>, 
[src]

type Item = U::Item

type Error = S::Error

type Actor = S::Actor

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

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 Error = S::Error

type Actor = S::Actor

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

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

type Item = S::Item

type Error = U

type Actor = S::Actor

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

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

type Item = U::Item

type Error = U::Error

type Actor = S::Actor

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]

fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where
    F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
    Self: Sized
[src]

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

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

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, Item = T>,
    Self::Error: From<Fut::Error>,
    Self: Sized
[src]

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

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

Loading content...