pub trait InboundUpgradeSend: UpgradeInfoSend {
    type Output: Send + 'static;
    type Error: Send + 'static;
    type Future: Future<Output = Result<Self::Output, Self::Error>> + Send + 'static;

    // Required method
    fn upgrade_inbound(
        self,
        socket: NegotiatedSubstream,
        info: Self::Info
    ) -> Self::Future;
}
Expand description

Implemented automatically on all types that implement InboundUpgrade and Send + 'static.

Do not implement this trait yourself. Instead, please implement InboundUpgrade.

Required Associated Types§

source

type Output: Send + 'static

Equivalent to InboundUpgrade::Output.

source

type Error: Send + 'static

Equivalent to InboundUpgrade::Error.

source

type Future: Future<Output = Result<Self::Output, Self::Error>> + Send + 'static

Equivalent to InboundUpgrade::Future.

Required Methods§

source

fn upgrade_inbound( self, socket: NegotiatedSubstream, info: Self::Info ) -> Self::Future

Implementors§

source§

impl<K, H> InboundUpgradeSend for Upgrade<K, H>where H: InboundUpgradeSend, K: Send + 'static,

§

type Output = (K, <H as InboundUpgradeSend>::Output)

§

type Error = (K, <H as InboundUpgradeSend>::Error)

§

type Future = Pin<Box<dyn Future<Output = Result<<Upgrade<K, H> as InboundUpgradeSend>::Output, <Upgrade<K, H> as InboundUpgradeSend>::Error>> + Send + 'static, Global>>

source§

impl<T, TInfo> InboundUpgradeSend for Twhere T: InboundUpgrade<NegotiatedSubstream, Info = TInfo> + UpgradeInfoSend<Info = TInfo>, TInfo: ProtocolName + Clone + Send + 'static, T::Output: Send + 'static, T::Error: Send + 'static, T::Future: Send + 'static,

§

type Output = <T as InboundUpgrade<Negotiated<SubstreamBox>>>::Output

§

type Error = <T as InboundUpgrade<Negotiated<SubstreamBox>>>::Error

§

type Future = <T as InboundUpgrade<Negotiated<SubstreamBox>>>::Future