Struct libp2p_core::transport::choice::OrTransport [−][src]
pub struct OrTransport<A, B>(_, _);
Expand description
Struct returned by or_transport()
.
Implementations
Trait Implementations
type Output = EitherOutput<A::Output, B::Output>
type Output = EitherOutput<A::Output, B::Output>
The result of a connection setup process, including protocol upgrades. Read more
type Error = EitherError<A::Error, B::Error>
type Error = EitherError<A::Error, B::Error>
An error that occurred during connection setup.
type Listener = EitherListenStream<A::Listener, B::Listener>
type Listener = EitherListenStream<A::Listener, B::Listener>
type ListenerUpgrade = EitherFuture<A::ListenerUpgrade, B::ListenerUpgrade>
type ListenerUpgrade = EitherFuture<A::ListenerUpgrade, B::ListenerUpgrade>
type Dial = EitherFuture<A::Dial, B::Dial>
type Dial = EitherFuture<A::Dial, B::Dial>
Listens on the given Multiaddr
, producing a stream of pending, inbound connections
and addresses this transport is listening on (cf. ListenerEvent
). Read more
Performs a transport-specific mapping of an address observed
by
a remote onto a local listen
address to yield an address for
the local node that may be reachable for other peers. Read more
Boxes the transport, including custom transport errors.
Applies a function on the connections created by the transport.
Applies a function on the errors generated by the futures of the transport.
fn or_transport<U>(self, other: U) -> OrTransport<Self, U> where
Self: Sized,
U: Transport,
<U as Transport>::Error: 'static,
fn or_transport<U>(self, other: U) -> OrTransport<Self, U> where
Self: Sized,
U: Transport,
<U as Transport>::Error: 'static,
Adds a fallback transport that is used when encountering errors while establishing inbound or outbound connections. Read more
Applies a function producing an asynchronous result to every connection created by this transport. Read more
Auto Trait Implementations
impl<A, B> RefUnwindSafe for OrTransport<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for OrTransport<A, B> where
A: Send,
B: Send,
impl<A, B> Sync for OrTransport<A, B> where
A: Sync,
B: Sync,
impl<A, B> Unpin for OrTransport<A, B> where
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for OrTransport<A, B> where
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V