Enum libp2p_kad::BucketInserts
source · pub enum BucketInserts {
OnConnected,
Manual,
}
Expand description
The configurable strategies for the insertion of peers and their addresses into the k-buckets of the Kademlia routing table.
Variants§
OnConnected
Whenever a connection to a peer is established as a result of a dialing attempt and that peer is not yet in the routing table, it is inserted as long as there is a free slot in the corresponding k-bucket. If the k-bucket is full but still has a free pending slot, it may be inserted into the routing table at a later time if an unresponsive disconnected peer is evicted from the bucket.
Manual
New peers and addresses are only added to the routing table via
explicit calls to Behaviour::add_address
.
Note: Even though peers can only get into the routing table as a result of
Behaviour::add_address
, routing table entries are still updated as peers connect and disconnect (i.e. the order of the entries as well as the network addresses).
Trait Implementations§
source§impl Clone for BucketInserts
impl Clone for BucketInserts
source§fn clone(&self) -> BucketInserts
fn clone(&self) -> BucketInserts
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BucketInserts
impl Debug for BucketInserts
source§impl PartialEq for BucketInserts
impl PartialEq for BucketInserts
source§fn eq(&self, other: &BucketInserts) -> bool
fn eq(&self, other: &BucketInserts) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for BucketInserts
impl Eq for BucketInserts
impl StructuralPartialEq for BucketInserts
Auto Trait Implementations§
impl Freeze for BucketInserts
impl RefUnwindSafe for BucketInserts
impl Send for BucketInserts
impl Sync for BucketInserts
impl Unpin for BucketInserts
impl UnwindSafe for BucketInserts
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more