Struct libp2p_kad::protocol::KademliaProtocolConfig
source · pub struct KademliaProtocolConfig;
Expand description
Configuration for a Kademlia connection upgrade. When applied to a connection, turns this
connection into a Stream + Sink
whose items are of type KadRequestMsg
and KadResponseMsg
.
Trait Implementations
sourceimpl Clone for KademliaProtocolConfig
impl Clone for KademliaProtocolConfig
sourcefn clone(&self) -> KademliaProtocolConfig
fn clone(&self) -> KademliaProtocolConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for KademliaProtocolConfig
impl Debug for KademliaProtocolConfig
sourceimpl Default for KademliaProtocolConfig
impl Default for KademliaProtocolConfig
sourcefn default() -> KademliaProtocolConfig
fn default() -> KademliaProtocolConfig
Returns the “default value” for a type. Read more
sourceimpl<C> InboundUpgrade<C> for KademliaProtocolConfigwhere
C: AsyncRead + AsyncWrite,
impl<C> InboundUpgrade<C> for KademliaProtocolConfigwhere
C: AsyncRead + AsyncWrite,
type Output = AndThen<With<FromErr<Framed<C, UviBytes<Vec<u8, Global>>>, Error>, KadResponseMsg, fn(_: KadResponseMsg) -> Result<Vec<u8, Global>, Error>, Result<Vec<u8, Global>, Error>>, fn(_: BytesMut) -> Result<KadRequestMsg, Error>, Result<KadRequestMsg, Error>>
type Output = AndThen<With<FromErr<Framed<C, UviBytes<Vec<u8, Global>>>, Error>, KadResponseMsg, fn(_: KadResponseMsg) -> Result<Vec<u8, Global>, Error>, Result<Vec<u8, Global>, Error>>, fn(_: BytesMut) -> Result<KadRequestMsg, Error>, Result<KadRequestMsg, Error>>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Future = FutureResult<<KademliaProtocolConfig as InboundUpgrade<C>>::Output, Error>
type Future = FutureResult<<KademliaProtocolConfig as InboundUpgrade<C>>::Output, Error>
Future that performs the handshake with the remote.
sourcefn upgrade_inbound(self, incoming: C, _: Self::Info) -> Self::Future
fn upgrade_inbound(self, incoming: C, _: Self::Info) -> Self::Future
After we have determined that the remote supports one of the protocols we support, this
method is called to start the handshake. Read more
sourceimpl<C> OutboundUpgrade<C> for KademliaProtocolConfigwhere
C: AsyncRead + AsyncWrite,
impl<C> OutboundUpgrade<C> for KademliaProtocolConfigwhere
C: AsyncRead + AsyncWrite,
type Output = AndThen<With<FromErr<Framed<C, UviBytes<Vec<u8, Global>>>, Error>, KadRequestMsg, fn(_: KadRequestMsg) -> Result<Vec<u8, Global>, Error>, Result<Vec<u8, Global>, Error>>, fn(_: BytesMut) -> Result<KadResponseMsg, Error>, Result<KadResponseMsg, Error>>
type Output = AndThen<With<FromErr<Framed<C, UviBytes<Vec<u8, Global>>>, Error>, KadRequestMsg, fn(_: KadRequestMsg) -> Result<Vec<u8, Global>, Error>, Result<Vec<u8, Global>, Error>>, fn(_: BytesMut) -> Result<KadResponseMsg, Error>, Result<KadResponseMsg, Error>>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Future = FutureResult<<KademliaProtocolConfig as OutboundUpgrade<C>>::Output, Error>
type Future = FutureResult<<KademliaProtocolConfig as OutboundUpgrade<C>>::Output, Error>
Future that performs the handshake with the remote.
sourcefn upgrade_outbound(self, incoming: C, _: Self::Info) -> Self::Future
fn upgrade_outbound(self, incoming: C, _: Self::Info) -> Self::Future
After we have determined that the remote supports one of the protocols we support, this
method is called to start the handshake. Read more
sourceimpl UpgradeInfo for KademliaProtocolConfig
impl UpgradeInfo for KademliaProtocolConfig
type InfoIter = Once<<KademliaProtocolConfig as UpgradeInfo>::Info>
type InfoIter = Once<<KademliaProtocolConfig as UpgradeInfo>::Info>
Iterator returned by
protocol_info
.sourcefn protocol_info(&self) -> Self::InfoIter
fn protocol_info(&self) -> Self::InfoIter
Returns the list of protocols that are supported. Used during the negotiation process.
impl Copy for KademliaProtocolConfig
Auto Trait Implementations
impl RefUnwindSafe for KademliaProtocolConfig
impl Send for KademliaProtocolConfig
impl Sync for KademliaProtocolConfig
impl Unpin for KademliaProtocolConfig
impl UnwindSafe for KademliaProtocolConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<C, U> InboundUpgradeExt<C> for Uwhere
U: InboundUpgrade<C>,
impl<C, U> InboundUpgradeExt<C> for Uwhere
U: InboundUpgrade<C>,
sourcefn 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,
Returns a new object that wraps around
Self
and applies a closure to the Output
.sourcefn 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,
Returns a new object that wraps around
Self
and applies a closure to the Error
.sourceimpl<C, U> OutboundUpgradeExt<C> for Uwhere
U: OutboundUpgrade<C>,
impl<C, U> OutboundUpgradeExt<C> for Uwhere
U: OutboundUpgrade<C>,
sourcefn 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,
Returns a new object that wraps around
Self
and applies a closure to the Output
.sourcefn 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,
Returns a new object that wraps around
Self
and applies a closure to the Error
.