Enum actix_web::actix::fut::Either [−]
pub enum Either<A, B> { A(A), B(B), }
Combines two different futures yielding the same item and error types into a single type.
Variants
A(A)
First branch of the type
B(B)
Second branch of the type
Methods
impl<T, A, B> Either<(T, A), (T, B)>
impl<T, A, B> Either<(T, A), (T, B)>
pub fn split(self) -> (T, Either<A, B>)
pub fn split(self) -> (T, Either<A, B>)
Splits out the homogeneous type from an either of tuples.
This method is typically useful when combined with the Future::select2
combinator.
Trait Implementations
impl<A, B> ActorFuture for Either<A, B> where
A: ActorFuture,
B: ActorFuture<Item = <A as ActorFuture>::Item, Error = <A as ActorFuture>::Error, Actor = <A as ActorFuture>::Actor>,
impl<A, B> ActorFuture for Either<A, B> where
A: ActorFuture,
B: ActorFuture<Item = <A as ActorFuture>::Item, Error = <A as ActorFuture>::Error, Actor = <A as ActorFuture>::Actor>,
type Item = <A as ActorFuture>::Item
The type of value that this future will resolved with if it is successful. Read more
type Error = <A as ActorFuture>::Error
The type of error that this future will resolve with if it fails in a normal fashion. Read more
type Actor = <A as ActorFuture>::Actor
The actor within which this future runs
fn poll(
&mut self,
act: &mut <A as ActorFuture>::Actor,
ctx: &mut <<A as ActorFuture>::Actor as Actor>::Context
) -> Result<Async<<A as ActorFuture>::Item>, <B as ActorFuture>::Error>
fn poll(
&mut self,
act: &mut <A as ActorFuture>::Actor,
ctx: &mut <<A as ActorFuture>::Actor as Actor>::Context
) -> Result<Async<<A as ActorFuture>::Item>, <B as ActorFuture>::Error>
fn map<F, U>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
fn map<F, U>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,
Map this future's result to a different type, returning a new future of the resulting type. Read more
fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,
Map this future's error to a different error, returning a new future.
fn drop_err(self) -> DropErr<Self>
fn drop_err(self) -> DropErr<Self>
Drop this future's error, returning a new future.
fn from_err<E>(self) -> FromErr<Self, E> where
E: From<Self::Error>,
fn from_err<E>(self) -> FromErr<Self, E> where
E: From<Self::Error>,
Map this future's error to any error implementing From
for this future's Error
, returning a new future. Read more
fn then<F, B>(self, f: F) -> Then<Self, B, F> where
B: IntoActorFuture<Actor = Self::Actor>,
F: FnOnce(Result<Self::Item, Self::Error>, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> B,
fn then<F, B>(self, f: F) -> Then<Self, B, F> where
B: IntoActorFuture<Actor = Self::Actor>,
F: FnOnce(Result<Self::Item, Self::Error>, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> B,
Chain on a computation for when a future finished, passing the result of the future to the provided closure f
. Read more
fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where
B: IntoActorFuture<Error = Self::Error, Actor = Self::Actor>,
F: FnOnce(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> B,
fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where
B: IntoActorFuture<Error = Self::Error, Actor = Self::Actor>,
F: FnOnce(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> B,
Execute another future after this one has resolved successfully.
fn timeout(self, timeout: Duration, err: Self::Error) -> Timeout<Self>
fn timeout(self, timeout: Duration, err: Self::Error) -> Timeout<Self>
Add timeout to futures chain. Read more
impl<A, B> Debug for Either<A, B> where
A: Debug,
B: Debug,
impl<A, B> Debug for Either<A, B> where
A: Debug,
B: Debug,