mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-04-25 11:02:12 +00:00
protocols/plaintext: Add example on how to upgrade with PlainTextConfig1 (#1286)
This commit is contained in:
parent
3f2dd0110b
commit
c29ec854b4
@ -39,6 +39,32 @@ mod error;
|
|||||||
mod handshake;
|
mod handshake;
|
||||||
mod pb;
|
mod pb;
|
||||||
|
|
||||||
|
/// `PlainText1Config` is an insecure connection handshake for testing purposes only.
|
||||||
|
///
|
||||||
|
/// > **Note**: Given that `PlainText1Config` has no notion of exchanging peer identity information it is not compatible
|
||||||
|
/// > with the `libp2p_core::transport::upgrade::Builder` pattern. See
|
||||||
|
/// > [`PlainText2Config`](struct.PlainText2Config.html) if compatibility is needed. Even though not compatible with the
|
||||||
|
/// > Builder pattern one can still do an upgrade *manually*:
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// # use libp2p_core::transport::{ Transport, memory::MemoryTransport };
|
||||||
|
/// # use libp2p_plaintext::PlainText1Config;
|
||||||
|
/// #
|
||||||
|
/// MemoryTransport::default()
|
||||||
|
/// .and_then(move |io, endpoint| {
|
||||||
|
/// libp2p_core::upgrade::apply(
|
||||||
|
/// io,
|
||||||
|
/// PlainText1Config{},
|
||||||
|
/// endpoint,
|
||||||
|
/// libp2p_core::transport::upgrade::Version::V1,
|
||||||
|
/// )
|
||||||
|
/// })
|
||||||
|
/// .map(|plaintext, _endpoint| {
|
||||||
|
/// unimplemented!();
|
||||||
|
/// // let peer_id = somehow_derive_peer_id();
|
||||||
|
/// // return (peer_id, plaintext);
|
||||||
|
/// });
|
||||||
|
/// ```
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub struct PlainText1Config;
|
pub struct PlainText1Config;
|
||||||
|
|
||||||
@ -71,6 +97,8 @@ impl<C> OutboundUpgrade<C> for PlainText1Config {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// `PlainText2Config` is an insecure connection handshake for testing purposes only, implementing
|
||||||
|
/// the libp2p plaintext connection handshake specification.
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct PlainText2Config {
|
pub struct PlainText2Config {
|
||||||
pub local_public_key: identity::PublicKey,
|
pub local_public_key: identity::PublicKey,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user