Struct libp2p::noise::NoiseConfig
source · Expand description
The protocol upgrade configuration.
Implementations§
source§impl<H, C, R> NoiseConfig<H, C, R>where
C: Zeroize,
impl<H, C, R> NoiseConfig<H, C, R>where
C: Zeroize,
sourcepub fn into_authenticated(self) -> NoiseAuthenticated<H, C, R>
pub fn into_authenticated(self) -> NoiseAuthenticated<H, C, R>
Turn the NoiseConfig
into an authenticated upgrade for use
with a Swarm
.
sourcepub fn set_legacy_config(
&mut self,
cfg: LegacyConfig
) -> &mut NoiseConfig<H, C, R>
pub fn set_legacy_config(
&mut self,
cfg: LegacyConfig
) -> &mut NoiseConfig<H, C, R>
Sets the legacy configuration options to use, if any.
source§impl<C> NoiseConfig<IX, C, ()>where
C: Protocol<C> + Zeroize,
impl<C> NoiseConfig<IX, C, ()>where
C: Protocol<C> + Zeroize,
sourcepub fn ix(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<IX, C, ()>
pub fn ix(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<IX, C, ()>
Create a new NoiseConfig
for the IX
handshake pattern.
source§impl<C> NoiseConfig<XX, C, ()>where
C: Protocol<C> + Zeroize,
impl<C> NoiseConfig<XX, C, ()>where
C: Protocol<C> + Zeroize,
sourcepub fn xx(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<XX, C, ()>
pub fn xx(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<XX, C, ()>
Create a new NoiseConfig
for the XX
handshake pattern.
source§impl<C> NoiseConfig<IK, C, ()>where
C: Protocol<C> + Zeroize,
impl<C> NoiseConfig<IK, C, ()>where
C: Protocol<C> + Zeroize,
sourcepub fn ik_listener(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<IK, C, ()>
pub fn ik_listener(dh_keys: AuthenticKeypair<C>) -> NoiseConfig<IK, C, ()>
Create a new NoiseConfig
for the IK
handshake pattern (recipient side).
Since the identity of the local node is known to the remote, this configuration does not transmit a static DH public key or public identity key to the remote.
source§impl<C> NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>where
C: Protocol<C> + Zeroize,
impl<C> NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>where
C: Protocol<C> + Zeroize,
sourcepub fn ik_dialer(
dh_keys: AuthenticKeypair<C>,
remote_id: PublicKey,
remote_dh: PublicKey<C>
) -> NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>
pub fn ik_dialer(
dh_keys: AuthenticKeypair<C>,
remote_id: PublicKey,
remote_dh: PublicKey<C>
) -> NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>
Create a new NoiseConfig
for the IK
handshake pattern (initiator side).
In this configuration, the remote identity is known to the local node, but the local node still needs to transmit its own public identity.
Trait Implementations§
source§impl<P, C, R> Clone for NoiseConfig<P, C, R>where
P: Clone,
C: Clone + Zeroize,
R: Clone,
impl<P, C, R> Clone for NoiseConfig<P, C, R>where
P: Clone,
C: Clone + Zeroize,
R: Clone,
source§fn clone(&self) -> NoiseConfig<P, C, R>
fn clone(&self) -> NoiseConfig<P, C, R>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T, C, R> InboundUpgrade<T> for NoiseConfig<IK, C, R>where
NoiseConfig<IK, C, R>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C, R> InboundUpgrade<T> for NoiseConfig<IK, C, R>where
NoiseConfig<IK, C, R>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<IK, C, R> as UpgradeInfo>::Info
) -> <NoiseConfig<IK, C, R> as InboundUpgrade<T>>::Future
fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<IK, C, R> as UpgradeInfo>::Info
) -> <NoiseConfig<IK, C, R> as InboundUpgrade<T>>::Future
source§impl<T, C> InboundUpgrade<T> for NoiseConfig<IX, C, ()>where
NoiseConfig<IX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C> InboundUpgrade<T> for NoiseConfig<IX, C, ()>where
NoiseConfig<IX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<IX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<IX, C, ()> as InboundUpgrade<T>>::Future
fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<IX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<IX, C, ()> as InboundUpgrade<T>>::Future
source§impl<T, C> InboundUpgrade<T> for NoiseConfig<XX, C, ()>where
NoiseConfig<XX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C> InboundUpgrade<T> for NoiseConfig<XX, C, ()>where
NoiseConfig<XX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<XX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<XX, C, ()> as InboundUpgrade<T>>::Future
fn upgrade_inbound(
self,
socket: T,
_: <NoiseConfig<XX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<XX, C, ()> as InboundUpgrade<T>>::Future
source§impl<T, C> OutboundUpgrade<T> for NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>where
NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C> OutboundUpgrade<T> for NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>where
NoiseConfig<IK, C, (PublicKey<C>, PublicKey)>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<IK, C, (PublicKey<C>, PublicKey)> as UpgradeInfo>::Info
) -> <NoiseConfig<IK, C, (PublicKey<C>, PublicKey)> as OutboundUpgrade<T>>::Future
fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<IK, C, (PublicKey<C>, PublicKey)> as UpgradeInfo>::Info
) -> <NoiseConfig<IK, C, (PublicKey<C>, PublicKey)> as OutboundUpgrade<T>>::Future
source§impl<T, C> OutboundUpgrade<T> for NoiseConfig<IX, C, ()>where
NoiseConfig<IX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C> OutboundUpgrade<T> for NoiseConfig<IX, C, ()>where
NoiseConfig<IX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<IX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<IX, C, ()> as OutboundUpgrade<T>>::Future
fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<IX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<IX, C, ()> as OutboundUpgrade<T>>::Future
source§impl<T, C> OutboundUpgrade<T> for NoiseConfig<XX, C, ()>where
NoiseConfig<XX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
impl<T, C> OutboundUpgrade<T> for NoiseConfig<XX, C, ()>where
NoiseConfig<XX, C, ()>: UpgradeInfo,
T: 'static + AsyncRead + AsyncWrite + Unpin + Send,
C: 'static + Protocol<C> + AsRef<[u8]> + Zeroize + Send,
§type Output = (RemoteIdentity<C>, NoiseOutput<T>)
type Output = (RemoteIdentity<C>, NoiseOutput<T>)
§type Error = NoiseError
type Error = NoiseError
source§fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<XX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<XX, C, ()> as OutboundUpgrade<T>>::Future
fn upgrade_outbound(
self,
socket: T,
_: <NoiseConfig<XX, C, ()> as UpgradeInfo>::Info
) -> <NoiseConfig<XX, C, ()> as OutboundUpgrade<T>>::Future
source§impl<R> UpgradeInfo for NoiseConfig<IK, X25519, R>
impl<R> UpgradeInfo for NoiseConfig<IK, X25519, R>
§type InfoIter = Once<<NoiseConfig<IK, X25519, R> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<IK, X25519, R> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(&self) -> <NoiseConfig<IK, X25519, R> as UpgradeInfo>::InfoIter
fn protocol_info(&self) -> <NoiseConfig<IK, X25519, R> as UpgradeInfo>::InfoIter
source§impl<R> UpgradeInfo for NoiseConfig<IK, X25519Spec, R>
impl<R> UpgradeInfo for NoiseConfig<IK, X25519Spec, R>
Note: This is not currently a standardised upgrade.
§type InfoIter = Once<<NoiseConfig<IK, X25519Spec, R> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<IK, X25519Spec, R> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(
&self
) -> <NoiseConfig<IK, X25519Spec, R> as UpgradeInfo>::InfoIter
fn protocol_info(
&self
) -> <NoiseConfig<IK, X25519Spec, R> as UpgradeInfo>::InfoIter
source§impl UpgradeInfo for NoiseConfig<IX, X25519, ()>
impl UpgradeInfo for NoiseConfig<IX, X25519, ()>
§type InfoIter = Once<<NoiseConfig<IX, X25519, ()> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<IX, X25519, ()> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(
&self
) -> <NoiseConfig<IX, X25519, ()> as UpgradeInfo>::InfoIter
fn protocol_info(
&self
) -> <NoiseConfig<IX, X25519, ()> as UpgradeInfo>::InfoIter
source§impl UpgradeInfo for NoiseConfig<IX, X25519Spec, ()>
impl UpgradeInfo for NoiseConfig<IX, X25519Spec, ()>
Note: This is not currentlyy a standardised upgrade.
§type InfoIter = Once<<NoiseConfig<IX, X25519Spec, ()> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<IX, X25519Spec, ()> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(
&self
) -> <NoiseConfig<IX, X25519Spec, ()> as UpgradeInfo>::InfoIter
fn protocol_info(
&self
) -> <NoiseConfig<IX, X25519Spec, ()> as UpgradeInfo>::InfoIter
source§impl UpgradeInfo for NoiseConfig<XX, X25519, ()>
impl UpgradeInfo for NoiseConfig<XX, X25519, ()>
§type InfoIter = Once<<NoiseConfig<XX, X25519, ()> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<XX, X25519, ()> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(
&self
) -> <NoiseConfig<XX, X25519, ()> as UpgradeInfo>::InfoIter
fn protocol_info(
&self
) -> <NoiseConfig<XX, X25519, ()> as UpgradeInfo>::InfoIter
source§impl UpgradeInfo for NoiseConfig<XX, X25519Spec, ()>
impl UpgradeInfo for NoiseConfig<XX, X25519Spec, ()>
§type InfoIter = Once<<NoiseConfig<XX, X25519Spec, ()> as UpgradeInfo>::Info>
type InfoIter = Once<<NoiseConfig<XX, X25519Spec, ()> as UpgradeInfo>::Info>
protocol_info
.source§fn protocol_info(
&self
) -> <NoiseConfig<XX, X25519Spec, ()> as UpgradeInfo>::InfoIter
fn protocol_info(
&self
) -> <NoiseConfig<XX, X25519Spec, ()> as UpgradeInfo>::InfoIter
Auto Trait Implementations§
impl<P, C, R> RefUnwindSafe for NoiseConfig<P, C, R>where
C: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
impl<P, C, R> Send for NoiseConfig<P, C, R>where
C: Send,
P: Send,
R: Send,
impl<P, C, R> Sync for NoiseConfig<P, C, R>where
C: Sync,
P: Sync,
R: Sync,
impl<P, C, R> Unpin for NoiseConfig<P, C, R>where
C: Unpin,
P: Unpin,
R: Unpin,
impl<P, C, R> UnwindSafe for NoiseConfig<P, C, R>where
C: UnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
source§impl<C, U> InboundUpgradeExt<C> for Uwhere
U: InboundUpgrade<C>,
impl<C, U> InboundUpgradeExt<C> for Uwhere
U: InboundUpgrade<C>,
source§fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F>where
Self: Sized,
F: FnOnce(Self::Output) -> T,
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F>where
Self: Sized,
F: FnOnce(Self::Output) -> T,
Self
and applies a closure to the Output
.source§fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> T,
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> T,
Self
and applies a closure to the Error
.source§impl<C, U> OutboundUpgradeExt<C> for Uwhere
U: OutboundUpgrade<C>,
impl<C, U> OutboundUpgradeExt<C> for Uwhere
U: OutboundUpgrade<C>,
source§fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F>where
Self: Sized,
F: FnOnce(Self::Output) -> T,
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F>where
Self: Sized,
F: FnOnce(Self::Output) -> T,
Self
and applies a closure to the Output
.source§fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> T,
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> T,
Self
and applies a closure to the Error
.