[−][src]Enum web3::EitherTransport
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 EitherTransport<A, B> where
A: BatchTransport<Batch = ABatch>,
B: BatchTransport<Batch = BBatch>,
A::Out: 'static,
B::Out: 'static,
ABatch: Future<Item = Vec<Result<Value, Error>>, Error = Error> + 'static,
BBatch: Future<Item = Vec<Result<Value, Error>>, Error = Error> + 'static,
[src]
A: BatchTransport<Batch = ABatch>,
B: BatchTransport<Batch = BBatch>,
A::Out: 'static,
B::Out: 'static,
ABatch: Future<Item = Vec<Result<Value, Error>>, Error = Error> + 'static,
BBatch: Future<Item = Vec<Result<Value, Error>>, Error = Error> + 'static,
type Batch = Box<dyn Future<Item = Vec<Result<Value, Error>>, Error = Error>>
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 EitherTransport<A, B>
[src]
fn clone(&self) -> EitherTransport<A, B>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<A: Debug, B: Debug> Debug for EitherTransport<A, B>
[src]
impl<A, B, AStream, BStream> DuplexTransport for EitherTransport<A, B> where
A: DuplexTransport<NotificationStream = AStream>,
B: DuplexTransport<NotificationStream = BStream>,
A::Out: 'static,
B::Out: 'static,
AStream: Stream<Item = Value, Error = Error> + 'static,
BStream: Stream<Item = Value, Error = Error> + 'static,
[src]
A: DuplexTransport<NotificationStream = AStream>,
B: DuplexTransport<NotificationStream = BStream>,
A::Out: 'static,
B::Out: 'static,
AStream: Stream<Item = Value, Error = Error> + 'static,
BStream: Stream<Item = Value, Error = Error> + 'static,
type NotificationStream = Box<dyn Stream<Item = Value, Error = Error>>
The type of stream this transport returns
fn subscribe(&self, id: &SubscriptionId) -> Self::NotificationStream
[src]
fn unsubscribe(&self, id: &SubscriptionId)
[src]
impl<A, B, AOut, BOut> Transport for EitherTransport<A, B> where
A: Transport<Out = AOut>,
B: Transport<Out = BOut>,
AOut: Future<Item = Value, Error = Error> + 'static,
BOut: Future<Item = Value, Error = Error> + 'static,
[src]
A: Transport<Out = AOut>,
B: Transport<Out = BOut>,
AOut: Future<Item = Value, Error = Error> + 'static,
BOut: Future<Item = Value, Error = Error> + 'static,
type Out = Box<dyn Future<Item = Value, Error = Error>>
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 EitherTransport<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for EitherTransport<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<A, B> Sync for EitherTransport<A, B> where
A: Sync,
B: Sync,
A: Sync,
B: Sync,
impl<A, B> Unpin for EitherTransport<A, B> where
A: Unpin,
B: Unpin,
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for EitherTransport<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
) -> <X as DuplexTransport>::NotificationStream
[src]
&Self,
&SubscriptionId
) -> <X as DuplexTransport>::NotificationStream
fn unsubscribe(&Self, &SubscriptionId)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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<T> Typeable for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,