[][src]Enum web3::transports::either::Either

pub enum Either<A, B> {
    Left(A),
    Right(B),
}

A wrapper over two possible transports.

This type can be used to write semi-generic code without the hassle of making all functions generic.

See the examples folder for an example how to use it.

Variants

Left(A)

First possible transport.

Right(B)

Second possible transport.

Trait Implementations

impl<A, B, ABatch, BBatch> BatchTransport for Either<A, B> where
    A: BatchTransport<Batch = ABatch>,
    B: BatchTransport<Batch = BBatch>,
    A::Out: 'static + Send,
    B::Out: 'static + Send,
    ABatch: Future<Output = Result<Vec<Result<Value>>>> + 'static + Send,
    BBatch: Future<Output = Result<Vec<Result<Value>>>> + 'static + Send
[src]

type Batch = BoxFuture<'static, Result<Vec<Result<Value>>>>

The type of future this transport returns when a call is made.

impl<A: Clone, B: Clone> Clone for Either<A, B>[src]

impl<A: Debug, B: Debug> Debug for Either<A, B>[src]

impl<A, B, AStream, BStream> DuplexTransport for Either<A, B> where
    A: DuplexTransport<NotificationStream = AStream>,
    B: DuplexTransport<NotificationStream = BStream>,
    A::Out: 'static + Send,
    B::Out: 'static + Send,
    AStream: Stream<Item = Value> + 'static + Send,
    BStream: Stream<Item = Value> + 'static + Send
[src]

type NotificationStream = BoxStream<'static, Value>

The type of stream this transport returns

impl<A, B, AOut, BOut> Transport for Either<A, B> where
    A: Transport<Out = AOut>,
    B: Transport<Out = BOut>,
    AOut: Future<Output = Result<Value>> + 'static + Send,
    BOut: Future<Output = Result<Value>> + 'static + Send
[src]

type Out = BoxFuture<'static, Result<Value>>

The type of future this transport returns when a call is made.

Auto Trait Implementations

impl<A, B> RefUnwindSafe for Either<A, B> where
    A: RefUnwindSafe,
    B: RefUnwindSafe

impl<A, B> Send for Either<A, B> where
    A: Send,
    B: Send

impl<A, B> Sync for Either<A, B> where
    A: Sync,
    B: Sync

impl<A, B> Unpin for Either<A, B> where
    A: Unpin,
    B: Unpin

impl<A, B> UnwindSafe for Either<A, B> where
    A: UnwindSafe,
    B: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<X, T> BatchTransport for X where
    T: BatchTransport + ?Sized,
    X: Deref<Target = T> + Debug + Clone
[src]

type Batch = <T as BatchTransport>::Batch

The type of future this transport returns when a call is made.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<X, T> DuplexTransport for X where
    T: DuplexTransport + ?Sized,
    X: Deref<Target = T> + Debug + Clone
[src]

type NotificationStream = <T as DuplexTransport>::NotificationStream

The type of stream this transport returns

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<X, T> Transport for X where
    T: Transport + ?Sized,
    X: Deref<Target = T> + Debug + Clone
[src]

type Out = <T as Transport>::Out

The type of future this transport returns when a call is made.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,