Enum libp2p::noise::IdentityExchange[][src]

pub enum IdentityExchange {
    Mutual,
    Send {
        remote: PublicKey,
    },
    Receive,
    None {
        remote: PublicKey,
    },
}

The options for identity exchange in an authenticated handshake.

Note: Even if a remote’s public identity key is known a priori, unless the authenticity of the key is linked to the authenticity of a remote’s static DH public key, an authenticated handshake will still send the associated signature of the provided local KeypairIdentity in order for the remote to verify that the static DH public key is authentic w.r.t. the known public identity key.

Variants

Mutual

Send the local public identity to the remote.

The remote identity is unknown (i.e. expected to be received).

Send

Send the local public identity to the remote.

The remote identity is known.

Fields of Send

remote: PublicKey
Receive

Don’t send the local public identity to the remote.

The remote identity is unknown, i.e. expected to be received.

None

Don’t send the local public identity to the remote.

The remote identity is known, thus identities must be mutually known in order for the handshake to succeed.

Fields of None

remote: PublicKey

Auto Trait Implementations

impl RefUnwindSafe for IdentityExchange

impl Send for IdentityExchange

impl Sync for IdentityExchange

impl Unpin for IdentityExchange

impl UnwindSafe for IdentityExchange

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]