Enum libp2p_core::upgrade::EitherUpgrade [−][src]
pub enum EitherUpgrade<A, B> {
A(A),
B(B),
}
Expand description
A type to represent two possible upgrade types (inbound or outbound).
Variants
Trait Implementations
impl<C, A, B, TA, TB, EA, EB> InboundUpgrade<C> for EitherUpgrade<A, B> where
A: InboundUpgrade<C, Output = TA, Error = EA>,
B: InboundUpgrade<C, Output = TB, Error = EB>,
impl<C, A, B, TA, TB, EA, EB> InboundUpgrade<C> for EitherUpgrade<A, B> where
A: InboundUpgrade<C, Output = TA, Error = EA>,
B: InboundUpgrade<C, Output = TB, Error = EB>,
type Output = EitherOutput<TA, TB>
type Output = EitherOutput<TA, TB>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Error = EitherError<EA, EB>
type Error = EitherError<EA, EB>
Possible error during the handshake.
type Future = EitherFuture2<A::Future, B::Future>
type Future = EitherFuture2<A::Future, B::Future>
Future that performs the handshake with the remote.
After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more
impl<C, A, B, TA, TB, EA, EB> OutboundUpgrade<C> for EitherUpgrade<A, B> where
A: OutboundUpgrade<C, Output = TA, Error = EA>,
B: OutboundUpgrade<C, Output = TB, Error = EB>,
impl<C, A, B, TA, TB, EA, EB> OutboundUpgrade<C> for EitherUpgrade<A, B> where
A: OutboundUpgrade<C, Output = TA, Error = EA>,
B: OutboundUpgrade<C, Output = TB, Error = EB>,
type Output = EitherOutput<TA, TB>
type Output = EitherOutput<TA, TB>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Error = EitherError<EA, EB>
type Error = EitherError<EA, EB>
Possible error during the handshake.
type Future = EitherFuture2<A::Future, B::Future>
type Future = EitherFuture2<A::Future, B::Future>
Future that performs the handshake with the remote.
After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more
type Info = EitherName<A::Info, B::Info>
type Info = EitherName<A::Info, B::Info>
Opaque type representing a negotiable protocol.
type InfoIter = EitherIter<<A::InfoIter as IntoIterator>::IntoIter, <B::InfoIter as IntoIterator>::IntoIter>
type InfoIter = EitherIter<<A::InfoIter as IntoIterator>::IntoIter, <B::InfoIter as IntoIterator>::IntoIter>
Iterator returned by protocol_info
.
Returns the list of protocols that are supported. Used during the negotiation process.
Auto Trait Implementations
impl<A, B> RefUnwindSafe for EitherUpgrade<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for EitherUpgrade<A, B> where
A: Send,
B: Send,
impl<A, B> Sync for EitherUpgrade<A, B> where
A: Sync,
B: Sync,
impl<A, B> Unpin for EitherUpgrade<A, B> where
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for EitherUpgrade<A, B> where
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
Self: Sized,
F: FnOnce(Self::Output) -> T,
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
Self: Sized,
F: FnOnce(Self::Output) -> T,
Returns a new object that wraps around Self
and applies a closure to the Output
.
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F> where
Self: Sized,
F: FnOnce(Self::Error) -> T,
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F> where
Self: Sized,
F: FnOnce(Self::Error) -> T,
Returns a new object that wraps around Self
and applies a closure to the Error
.
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
Self: Sized,
F: FnOnce(Self::Output) -> T,
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
Self: Sized,
F: FnOnce(Self::Output) -> T,
Returns a new object that wraps around Self
and applies a closure to the Output
.
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F> where
Self: Sized,
F: FnOnce(Self::Error) -> T,
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F> where
Self: Sized,
F: FnOnce(Self::Error) -> T,
Returns a new object that wraps around Self
and applies a closure to the Error
.