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

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

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

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

Required Associated Types§

source

type Output: Send + 'static

Equivalent to OutboundUpgrade::Output.

source

type Error: Send + 'static

Equivalent to OutboundUpgrade::Error.

source

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

Equivalent to OutboundUpgrade::Future.

Required Methods§

source

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

Implementors§

source§

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

§

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

§

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

§

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

source§

impl<T, TInfo> OutboundUpgradeSend for Twhere T: OutboundUpgrade<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 OutboundUpgrade<Negotiated<SubstreamBox>>>::Output

§

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

§

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