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
) -> Result<Async<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 as IntoActorFuture>::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,
{ ... }
}
Expand description
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
Required Associated Types
Required Methods
fn poll(
&mut self,
srv: &mut Self::Actor,
ctx: &mut <Self::Actor as Actor>::Context
) -> Result<Async<Option<Self::Item>>, Self::Error>
Provided Methods
sourcefn 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<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
.
sourcefn 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 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
.
sourcefn 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 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
.
sourcefn 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 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
.
sourcefn 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 as IntoActorFuture>::Error>,
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 as IntoActorFuture>::Error>,
Self: Sized,
Execute an accumulating computation over a stream, collecting all the values into one final result.
sourcefn timeout(self, timeout: Duration, err: Self::Error) -> StreamTimeout<Self>where
Self: Sized,
Self::Error: Clone,
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.
sourcefn finish(self) -> StreamFinish<Self>where
Self: Sized,
fn finish(self) -> StreamFinish<Self>where
Self: Sized,
Converts a stream to a future that resolves when stream finishes.