## Uses of Interface
net.i2p.kademlia.KBucket

- Packages that use KBucket
  Package | Description
  --- | ---
  net.i2p.kademlia | Generic Kademlia distributed hash table implementation supporting multiple hash algorithms (SHA1, SHA256, etc.).
  org.klomp.snark.dht | Distributed Hash Table (DHT) implementation for BitTorrent.

- - ### Uses of KBucket in net.i2p.kademlia

    Classes in net.i2p.kademlia that implement KBucket
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `KBucketImpl<T extends SimpleDataStructure>` A concurrent implementation using ConcurrentHashSet.

    Methods in net.i2p.kademlia that return types with arguments of type KBucket
    Modifier and Type | Method and Description
    --- | ---
    `(package private) List<KBucket<T>>` | KBucketSet.`getBuckets()` Returned list is a copy of the bucket list, closest first, with the actual buckets (not a copy).

    Methods in net.i2p.kademlia with parameters of type KBucket
    Modifier and Type | Method and Description
    --- | ---
    `(package private) T` | KBucketSet.`generateRandomKey(KBucket<T> bucket)` Generate a random key to go within this bucket Package private for testing only.
    `boolean` | KBucketTrimmer.`trim(KBucket<K> kbucket, K toAdd)` Called from add() just before adding the entry.
    `boolean` | RandomTrimmer.`trim(KBucket<T> kbucket, T toAdd)`
    `boolean` | RejectTrimmer.`trim(KBucket<T> kbucket, T toAdd)`
    `boolean` | RandomIfOldTrimmer.`trim(KBucket<T> kbucket, T toAdd)`

  - ### Uses of KBucket in org.klomp.snark.dht

    Methods in org.klomp.snark.dht with parameters of type KBucket
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | KBTrimmer.`trim(KBucket<NID> kbucket, NID toAdd)` Attempts to trim a Kademlia bucket to make room for a new node.