pub struct KademliaProtocolConfig { /* private fields */ }
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
.
Implementations
sourceimpl KademliaProtocolConfig
impl KademliaProtocolConfig
sourcepub fn protocol_name(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
pub fn protocol_name(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Returns the configured protocol name.
sourcepub fn set_protocol_name(&mut self, name: impl Into<Cow<'static, [u8]>>)
pub fn set_protocol_name(&mut self, name: impl Into<Cow<'static, [u8]>>)
Modifies the protocol name used on the wire. Can be used to create incompatibilities between networks on purpose.
sourcepub fn set_max_packet_size(&mut self, size: usize)
pub fn set_max_packet_size(&mut self, size: usize)
Modifies the maximum allowed size of a single Kademlia packet.
Trait Implementations
sourceimpl Clone for KademliaProtocolConfig
impl Clone for KademliaProtocolConfig
sourcepub fn clone(&self) -> KademliaProtocolConfig
pub 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 more
sourceimpl Debug for KademliaProtocolConfig
impl Debug for KademliaProtocolConfig
sourceimpl Default for KademliaProtocolConfig
impl Default for KademliaProtocolConfig
sourcepub fn default() -> KademliaProtocolConfig
pub fn default() -> KademliaProtocolConfig
Returns the “default value” for a type. Read more
sourceimpl<C> InboundUpgrade<C> for KademliaProtocolConfig where
C: AsyncRead + AsyncWrite + Unpin,
impl<C> InboundUpgrade<C> for KademliaProtocolConfig where
C: AsyncRead + AsyncWrite + Unpin,
type Output = AndThen<With<ErrInto<Framed<C, UviBytes<Cursor<Vec<u8, Global>>>>, Error>, Cursor<Vec<u8, Global>>, KadResponseMsg, Ready<Result<Cursor<Vec<u8, Global>>, Error>>, fn(KadResponseMsg) -> Ready<Result<Cursor<Vec<u8, Global>>, Error>>>, Ready<Result<KadRequestMsg, Error>>, fn(BytesMut) -> Ready<Result<KadRequestMsg, Error>>>
type Output = AndThen<With<ErrInto<Framed<C, UviBytes<Cursor<Vec<u8, Global>>>>, Error>, Cursor<Vec<u8, Global>>, KadResponseMsg, Ready<Result<Cursor<Vec<u8, Global>>, Error>>, fn(KadResponseMsg) -> Ready<Result<Cursor<Vec<u8, Global>>, Error>>>, Ready<Result<KadRequestMsg, Error>>, fn(BytesMut) -> Ready<Result<KadRequestMsg, Error>>>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Future = Ready<Result<<KademliaProtocolConfig as InboundUpgrade<C>>::Output, Error>>
type Future = Ready<Result<<KademliaProtocolConfig as InboundUpgrade<C>>::Output, Error>>
Future that performs the handshake with the remote.
sourcepub fn upgrade_inbound(
self,
incoming: C,
<KademliaProtocolConfig as UpgradeInfo>::Info
) -> <KademliaProtocolConfig as InboundUpgrade<C>>::Future
pub fn upgrade_inbound(
self,
incoming: C,
<KademliaProtocolConfig as UpgradeInfo>::Info
) -> <KademliaProtocolConfig as InboundUpgrade<C>>::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 KademliaProtocolConfig where
C: AsyncRead + AsyncWrite + Unpin,
impl<C> OutboundUpgrade<C> for KademliaProtocolConfig where
C: AsyncRead + AsyncWrite + Unpin,
type Output = AndThen<With<ErrInto<Framed<C, UviBytes<Cursor<Vec<u8, Global>>>>, Error>, Cursor<Vec<u8, Global>>, KadRequestMsg, Ready<Result<Cursor<Vec<u8, Global>>, Error>>, fn(KadRequestMsg) -> Ready<Result<Cursor<Vec<u8, Global>>, Error>>>, Ready<Result<KadResponseMsg, Error>>, fn(BytesMut) -> Ready<Result<KadResponseMsg, Error>>>
type Output = AndThen<With<ErrInto<Framed<C, UviBytes<Cursor<Vec<u8, Global>>>>, Error>, Cursor<Vec<u8, Global>>, KadRequestMsg, Ready<Result<Cursor<Vec<u8, Global>>, Error>>, fn(KadRequestMsg) -> Ready<Result<Cursor<Vec<u8, Global>>, Error>>>, Ready<Result<KadResponseMsg, Error>>, fn(BytesMut) -> Ready<Result<KadResponseMsg, Error>>>
Output after the upgrade has been successfully negotiated and the handshake performed.
type Future = Ready<Result<<KademliaProtocolConfig as OutboundUpgrade<C>>::Output, Error>>
type Future = Ready<Result<<KademliaProtocolConfig as OutboundUpgrade<C>>::Output, Error>>
Future that performs the handshake with the remote.
sourcepub fn upgrade_outbound(
self,
incoming: C,
<KademliaProtocolConfig as UpgradeInfo>::Info
) -> <KademliaProtocolConfig as OutboundUpgrade<C>>::Future
pub fn upgrade_outbound(
self,
incoming: C,
<KademliaProtocolConfig as UpgradeInfo>::Info
) -> <KademliaProtocolConfig as OutboundUpgrade<C>>::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
.
sourcepub fn protocol_info(&self) -> <KademliaProtocolConfig as UpgradeInfo>::InfoIter
pub fn protocol_info(&self) -> <KademliaProtocolConfig as UpgradeInfo>::InfoIter
Returns the list of protocols that are supported. Used during the negotiation process.
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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<C, U> InboundUpgradeExt<C> for U where
U: InboundUpgrade<C>,
impl<C, U> InboundUpgradeExt<C> for U where
U: InboundUpgrade<C>,
sourcefn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
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
F: FnOnce(Self::Error) -> T,
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F> where
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 U where
U: OutboundUpgrade<C>,
impl<C, U> OutboundUpgradeExt<C> for U where
U: OutboundUpgrade<C>,
sourcefn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
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
F: FnOnce(Self::Error) -> T,
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F> where
F: FnOnce(Self::Error) -> T,
Returns a new object that wraps around Self
and applies a closure to the Error
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more