add the parent node id to KBucket
This commit is contained in:
parent
406ddaa4ef
commit
ad2dcf0893
2 changed files with 4 additions and 3 deletions
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue