Trait libp2p_core::upgrade::InboundUpgrade [−][src]
pub trait InboundUpgrade<C>: UpgradeInfo { type Output; type Error; type Future: Future<Output = Result<Self::Output, Self::Error>>; fn upgrade_inbound(self, socket: C, info: Self::Info) -> Self::Future; }
Expand description
Possible upgrade on an inbound connection or substream.
Associated Types
Output after the upgrade has been successfully negotiated and the handshake performed.
Required methods
fn upgrade_inbound(self, socket: C, info: Self::Info) -> Self::Future
fn upgrade_inbound(self, socket: C, info: Self::Info) -> Self::FutureAfter we have determined that the remote supports one of the protocols we support, this method is called to start the handshake.
The info is the identifier of the protocol, as produced by protocol_info.
Implementors
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 SelectUpgrade<A, B> where
A: InboundUpgrade<C, Output = TA, Error = EA>,
B: InboundUpgrade<C, Output = TB, Error = EB>, impl<C, P, F, Fut, Err, Out> InboundUpgrade<C> for FromFnUpgrade<P, F> where
P: ProtocolName + Clone,
F: FnOnce(C, Endpoint) -> Fut,
Fut: Future<Output = Result<Out, Err>>, impl<C, U, F, T> InboundUpgrade<C> for MapInboundUpgrade<U, F> where
U: InboundUpgrade<C>,
F: FnOnce(U::Output) -> T, impl<C, U, F, T> InboundUpgrade<C> for MapInboundUpgradeErr<U, F> where
U: InboundUpgrade<C>,
F: FnOnce(U::Error) -> T,