Trait libp2p::core::upgrade::UpgradeInfo[][src]

pub trait UpgradeInfo {
    type Info: ProtocolName + Clone;
    type InfoIter: IntoIterator;
    pub fn protocol_info(&self) -> Self::InfoIter;
}

Common trait for upgrades that can be applied on inbound substreams, outbound substreams, or both.

Associated Types

type Info: ProtocolName + Clone[src]

Opaque type representing a negotiable protocol.

type InfoIter: IntoIterator[src]

Iterator returned by protocol_info.

Loading content...

Required methods

pub fn protocol_info(&self) -> Self::InfoIter[src]

Returns the list of protocols that are supported. Used during the negotiation process.

Loading content...

Implementors

impl UpgradeInfo for DeniedUpgrade[src]

impl UpgradeInfo for DeflateConfig[src]

impl UpgradeInfo for FloodsubProtocol[src]

impl UpgradeInfo for FloodsubRpc[src]

impl UpgradeInfo for ProtocolConfig[src]

impl UpgradeInfo for KademliaProtocolConfig[src]

impl UpgradeInfo for MplexConfig[src]

impl UpgradeInfo for NoiseConfig<IX, X25519, ()>[src]

impl UpgradeInfo for NoiseConfig<IX, X25519Spec, ()>[src]

Note: This is not currentlyy a standardised upgrade.

impl UpgradeInfo for NoiseConfig<XX, X25519, ()>[src]

impl UpgradeInfo for NoiseConfig<XX, X25519Spec, ()>[src]

impl UpgradeInfo for Ping[src]

impl UpgradeInfo for PlainText1Config[src]

impl UpgradeInfo for PlainText2Config[src]

impl UpgradeInfo for Config[src]

impl UpgradeInfo for LocalConfig[src]

impl<A, B> UpgradeInfo for EitherUpgrade<A, B> where
    A: UpgradeInfo,
    B: UpgradeInfo
[src]

impl<A, B> UpgradeInfo for SelectUpgrade<A, B> where
    A: UpgradeInfo,
    B: UpgradeInfo
[src]

type Info = EitherName<<A as UpgradeInfo>::Info, <B as UpgradeInfo>::Info>

type InfoIter = InfoIterChain<<<A as UpgradeInfo>::InfoIter as IntoIterator>::IntoIter, <<B as UpgradeInfo>::InfoIter as IntoIterator>::IntoIter>

impl<F> UpgradeInfo for SimpleProtocol<F>[src]

type Info = Bytes

type InfoIter = Once<Self::Info>

impl<P, C, R> UpgradeInfo for NoiseAuthenticated<P, C, R> where
    C: Zeroize,
    NoiseConfig<P, C, R>: UpgradeInfo
[src]

type Info = <NoiseConfig<P, C, R> as UpgradeInfo>::Info

type InfoIter = <NoiseConfig<P, C, R> as UpgradeInfo>::InfoIter

impl<P, F> UpgradeInfo for FromFnUpgrade<P, F> where
    P: ProtocolName + Clone
[src]

type Info = P

type InfoIter = Once<P>

impl<R> UpgradeInfo for NoiseConfig<IK, X25519, R>[src]

impl<R> UpgradeInfo for NoiseConfig<IK, X25519Spec, R>[src]

Note: This is not currently a standardised upgrade.

impl<T> UpgradeInfo for OptionalUpgrade<T> where
    T: UpgradeInfo
[src]

impl<TCodec> UpgradeInfo for RequestProtocol<TCodec> where
    TCodec: RequestResponseCodec
[src]

type Info = <TCodec as RequestResponseCodec>::Protocol

type InfoIter = IntoIter<[<RequestProtocol<TCodec> as UpgradeInfo>::Info; 2]>

impl<TCodec> UpgradeInfo for ResponseProtocol<TCodec> where
    TCodec: RequestResponseCodec
[src]

impl<U, F> UpgradeInfo for MapInboundUpgrade<U, F> where
    U: UpgradeInfo
[src]

type Info = <U as UpgradeInfo>::Info

type InfoIter = <U as UpgradeInfo>::InfoIter

impl<U, F> UpgradeInfo for MapInboundUpgradeErr<U, F> where
    U: UpgradeInfo
[src]

type Info = <U as UpgradeInfo>::Info

type InfoIter = <U as UpgradeInfo>::InfoIter

impl<U, F> UpgradeInfo for MapOutboundUpgrade<U, F> where
    U: UpgradeInfo
[src]

type Info = <U as UpgradeInfo>::Info

type InfoIter = <U as UpgradeInfo>::InfoIter

impl<U, F> UpgradeInfo for MapOutboundUpgradeErr<U, F> where
    U: UpgradeInfo
[src]

type Info = <U as UpgradeInfo>::Info

type InfoIter = <U as UpgradeInfo>::InfoIter

Loading content...