Struct libp2p::kad::kbucket::KBucketRef [−][src]
pub struct KBucketRef<'a, TKey, TVal> { /* fields omitted */ }A reference to a bucket in a KBucketsTable.
Implementations
impl<'a, TKey, TVal> KBucketRef<'a, TKey, TVal> where
TKey: Clone + AsRef<KeyBytes>,
TVal: Clone, [src]
impl<'a, TKey, TVal> KBucketRef<'a, TKey, TVal> where
TKey: Clone + AsRef<KeyBytes>,
TVal: Clone, [src]pub fn range(&self) -> (Distance, Distance)[src]
Returns the minimum inclusive and maximum inclusive Distance for
this bucket.
pub fn is_empty(&self) -> bool[src]
Checks whether the bucket is empty.
pub fn num_entries(&self) -> usize[src]
Returns the number of entries in the bucket.
pub fn has_pending(&self) -> bool[src]
Returns true if the bucket has a pending node.
pub fn contains(&self, d: &Distance) -> bool[src]
Tests whether the given distance falls into this bucket.
pub fn rand_distance(&self, rng: &mut impl Rng) -> Distance[src]
Generates a random distance that falls into this bucket.
Together with a known key a (e.g. the local key), a random distance d for
this bucket w.r.t k gives rise to the corresponding (random) key b s.t.
the XOR distance between a and b is d. In other words, it gives
rise to a random key falling into this bucket. See key::Key::for_distance.
pub fn iter(&'a self) -> impl Iterator<Item = EntryRefView<'a, TKey, TVal>>[src]
Returns an iterator over the entries in the bucket.
Auto Trait Implementations
impl<'a, TKey, TVal> RefUnwindSafe for KBucketRef<'a, TKey, TVal> where
TKey: RefUnwindSafe,
TVal: RefUnwindSafe,
TKey: RefUnwindSafe,
TVal: RefUnwindSafe,
impl<'a, TKey, TVal> Send for KBucketRef<'a, TKey, TVal> where
TKey: Send,
TVal: Send,
TKey: Send,
TVal: Send,
impl<'a, TKey, TVal> Sync for KBucketRef<'a, TKey, TVal> where
TKey: Sync,
TVal: Sync,
TKey: Sync,
TVal: Sync,