Struct libp2p::kad::kbucket::KBucketRef [−][src]
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]
TKey: Clone + AsRef<KeyBytes>,
TVal: Clone,
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,
impl<'a, TKey, TVal> Unpin for KBucketRef<'a, TKey, TVal>
impl<'a, TKey, TVal> !UnwindSafe for KBucketRef<'a, TKey, TVal>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,