[−][src]Enum web3::transports::either::Either
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
First possible transport.
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]
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,
type Batch = BoxFuture<'static, Result<Vec<Result<Value>>>>
The type of future this transport returns when a call is made.
fn send_batch<T>(&self, requests: T) -> Self::Batch where
T: IntoIterator<Item = (RequestId, Call)>,
[src]
T: IntoIterator<Item = (RequestId, Call)>,
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]
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,
type NotificationStream = BoxStream<'static, Value>
The type of stream this transport returns
fn subscribe(&self, id: SubscriptionId) -> Result<Self::NotificationStream>
[src]
fn unsubscribe(&self, id: SubscriptionId) -> Result
[src]
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]
A: Transport<Out = AOut>,
B: Transport<Out = BOut>,
AOut: Future<Output = Result<Value>> + 'static + Send,
BOut: Future<Output = Result<Value>> + 'static + Send,
type Out = BoxFuture<'static, Result<Value>>
The type of future this transport returns when a call is made.
fn prepare(&self, method: &str, params: Vec<Value>) -> (RequestId, Call)
[src]
fn send(&self, id: RequestId, request: Call) -> Self::Out
[src]
fn execute(&self, method: &str, params: Vec<Value>) -> Self::Out
[src]
Auto Trait Implementations
impl<A, B> RefUnwindSafe for Either<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for Either<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<A, B> Sync for Either<A, B> where
A: Sync,
B: Sync,
A: Sync,
B: Sync,
impl<A, B> Unpin for Either<A, B> where
A: Unpin,
B: Unpin,
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for Either<A, B> where
A: UnwindSafe,
B: UnwindSafe,
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<X, T> BatchTransport for X where
T: BatchTransport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
[src]
T: BatchTransport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
type Batch = <T as BatchTransport>::Batch
The type of future this transport returns when a call is made.
fn send_batch<I>(&Self, I) -> <X as BatchTransport>::Batch where
I: IntoIterator<Item = (usize, Call)>,
[src]
I: IntoIterator<Item = (usize, Call)>,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<X, T> DuplexTransport for X where
T: DuplexTransport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
[src]
T: DuplexTransport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
type NotificationStream = <T as DuplexTransport>::NotificationStream
The type of stream this transport returns
fn subscribe(
&Self,
SubscriptionId
) -> Result<<X as DuplexTransport>::NotificationStream, Error>
[src]
&Self,
SubscriptionId
) -> Result<<X as DuplexTransport>::NotificationStream, Error>
fn unsubscribe(&Self, SubscriptionId) -> Result<(), Error>
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<X, T> Transport for X where
T: Transport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
[src]
T: Transport + ?Sized,
X: Deref<Target = T> + Debug + Clone,
type Out = <T as Transport>::Out
The type of future this transport returns when a call is made.
fn prepare(&Self, &str, Vec<Value>) -> (usize, Call)
[src]
fn send(&Self, usize, Call) -> <X as Transport>::Out
[src]
fn execute(&self, method: &str, params: Vec<Value>) -> Self::Out
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,