[][src]Function libp2p::noise::handshake::rt15_initiator

Important traits for Handshake<T, C>
pub fn rt15_initiator<T, C>(
    io: T,
    session: Result<HandshakeState, NoiseError>,
    identity: KeypairIdentity,
    identity_x: IdentityExchange
) -> Handshake<T, C> where
    C: Protocol<C> + AsRef<[u8]>,
    T: AsyncWrite + AsyncRead + Unpin + Send + 'static, 

Creates an authenticated Noise handshake for the initiator of a 1.5-roundtrip (3 message) handshake pattern.

Subject to the chosen [IdentityExchange], this message sequence expects the remote to identify itself in the second message payload and identifies the local node to the remote in the third message payload. The first (unencrypted) message payload is always empty.

This message sequence is suitable for authenticated 3-message Noise handshake patterns where the static keys of the responder and initiator are either known (i.e. appear in the pre-message pattern) or are sent with the second and third message, respectively (e.g. XX).

initiator --{}--> responder
initiator <-{id}- responder
initiator -{id}-> responder