[−][src]Module libp2p_kad::kbucket
Implementation of a Kademlia routing table as used by a single peer participating in a Kademlia DHT.
The entry point for the API of this module is a KBucketsTable
.
Pending Insertions
When the bucket associated with the Key
of an inserted entry is full
but contains disconnected nodes, it accepts a PendingEntry
.
Pending entries are inserted lazily when their timeout is found to be expired
upon querying the KBucketsTable
. When that happens, the KBucketsTable
records
an AppliedPending
result which must be consumed by calling take_applied_pending
regularly and / or after performing lookup operations like entry
and closest
.
Re-exports
pub use super::bucket::K_VALUE; |
Structs
AbsentEntry | An entry that is not present in any bucket. |
AppliedPending | The result of applying a pending node to a bucket, possibly replacing an existing node. |
Distance | A distance between two keys in the DHT keyspace. |
EntryRefView | An immutable by-reference view of a bucket entry. |
EntryView | A cloned, immutable view of an entry that is either present in a bucket or pending insertion. |
KBucketRef | A reference to a bucket in a |
KBucketsTable | A |
Key | A |
KeyBytes | The raw bytes of a key in the DHT keyspace. |
Node | A |
NodeRefView | An immutable by-reference view of a |
PendingEntry | An entry waiting for a slot to be available in a bucket. |
PresentEntry | An entry present in a bucket. |
Enums
Entry | A reference into a single entry of a |
InsertResult | The result of inserting an entry into a bucket. |
NodeStatus | The status of a node in a bucket. |