add the parent node id to KBucket

This commit is contained in:
Jack Robison 2018-05-23 17:06:45 -04:00
parent 406ddaa4ef
commit ad2dcf0893
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2
2 changed files with 4 additions and 3 deletions

View file

@ -6,7 +6,7 @@ class KBucket(object):
""" Description - later """ Description - later
""" """
def __init__(self, rangeMin, rangeMax): def __init__(self, rangeMin, rangeMax, node_id):
""" """
@param rangeMin: The lower boundary for the range in the n-bit ID @param rangeMin: The lower boundary for the range in the n-bit ID
space covered by this k-bucket space covered by this k-bucket
@ -17,6 +17,7 @@ class KBucket(object):
self.rangeMin = rangeMin self.rangeMin = rangeMin
self.rangeMax = rangeMax self.rangeMax = rangeMax
self._contacts = list() self._contacts = list()
self._node_id = node_id
def addContact(self, contact): def addContact(self, contact):
""" Add contact to _contact list in the right order. This will move the """ Add contact to _contact list in the right order. This will move the

View file

@ -40,8 +40,8 @@ class TreeRoutingTable(object):
@type parentNodeID: str @type parentNodeID: str
""" """
# Create the initial (single) k-bucket covering the range of the entire n-bit ID space # Create the initial (single) k-bucket covering the range of the entire n-bit ID space
self._buckets = [kbucket.KBucket(rangeMin=0, rangeMax=2 ** constants.key_bits)]
self._parentNodeID = parentNodeID self._parentNodeID = parentNodeID
self._buckets = [kbucket.KBucket(rangeMin=0, rangeMax=2 ** constants.key_bits, node_id=self._parentNodeID)]
if not getTime: if not getTime:
from time import time as getTime from time import time as getTime
self._getTime = getTime self._getTime = getTime
@ -272,7 +272,7 @@ class TreeRoutingTable(object):
oldBucket = self._buckets[oldBucketIndex] oldBucket = self._buckets[oldBucketIndex]
splitPoint = oldBucket.rangeMax - (oldBucket.rangeMax - oldBucket.rangeMin) / 2 splitPoint = oldBucket.rangeMax - (oldBucket.rangeMax - oldBucket.rangeMin) / 2
# Create a new k-bucket to cover the range split off from the old bucket # Create a new k-bucket to cover the range split off from the old bucket
newBucket = kbucket.KBucket(splitPoint, oldBucket.rangeMax) newBucket = kbucket.KBucket(splitPoint, oldBucket.rangeMax, self._parentNodeID)
oldBucket.rangeMax = splitPoint oldBucket.rangeMax = splitPoint
# Now, add the new bucket into the routing table tree # Now, add the new bucket into the routing table tree
self._buckets.insert(oldBucketIndex + 1, newBucket) self._buckets.insert(oldBucketIndex + 1, newBucket)