Interface KBucket<T extends SimpleDataStructure>

  • All Known Implementing Classes:
    KBucketImpl

    public interface KBucket<T extends SimpleDataStructure>
    Group, without inherent ordering, a set of keys a certain distance away from a local key, using XOR as the distance metric Refactored from net.i2p.router.networkdb.kademlia
    Since:
    0.9.2 in i2psnark, moved to core in 0.9.10
    • Method Detail

      • getRangeBegin

        int getRangeBegin()
        Lowest order high bit for difference keys. The lower-bounds distance of this bucket is 2**begin. If begin == 0, this is the closest bucket.
      • getRangeEnd

        int getRangeEnd()
        Highest high bit for the difference keys. The upper-bounds distance of this bucket is (2**(end+1)) - 1. If begin == end, the bucket cannot be split further. If end == (numbits - 1), this is the furthest bucket.
      • getKeyCount

        int getKeyCount()
        Number of keys already contained in this kbucket
      • add

        boolean add​(T key)
        Add the peer to the bucket
        Returns:
        true if added
      • remove

        boolean remove​(T key)
        Remove the key from the bucket
        Returns:
        true if the key existed in the bucket before removing it, else false
      • setLastChanged

        void setLastChanged()
        Update the last-changed timestamp to now.
      • getLastChanged

        long getLastChanged()
        The last-changed timestamp
      • getEntries

        Set<T> getEntries()
        Retrieve all routing table entries stored in the bucket
        Returns:
        set of Hash structures
      • clear

        void clear()