[][src]Trait libp2p::swarm::protocols_handler::OutboundUpgradeSend

pub trait OutboundUpgradeSend: UpgradeInfoSend where
    <Self::Future as Future>::Output == Result<Self::Output, Self::Error>, 
{ type Output: 'static + Send; type Error: 'static + Send; type Future: 'static + Send + Future; fn upgrade_outbound(
        self,
        socket: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
        info: Self::Info
    ) -> Self::Future; }

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

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

Associated Types

type Output: 'static + Send

Equivalent to OutboundUpgrade::Output.

type Error: 'static + Send

Equivalent to OutboundUpgrade::Error.

type Future: 'static + Send + Future

Equivalent to OutboundUpgrade::Future.

Loading content...

Required methods

fn upgrade_outbound(
    self,
    socket: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
    info: Self::Info
) -> Self::Future

Loading content...

Implementors

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

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>> + 'static + Send>>

impl<T, TInfo> OutboundUpgradeSend for T where
    T: OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>, Info = TInfo> + UpgradeInfoSend<Info = TInfo>,
    TInfo: ProtocolName + Clone + Send + 'static,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Output: Send,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Output: 'static,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Error: Send,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Error: 'static,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Future: Send,
    <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Future: 'static, 
[src]

type Output = <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Output

type Error = <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Error

type Future = <T as OutboundUpgrade<Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>>>::Future

Loading content...