]> git.mxchange.org Git - quix0rs-apt-p2p.git/blobdiff - ktable.py
fix peer update problem connection refused in store value
[quix0rs-apt-p2p.git] / ktable.py
index f1c3b6ac50fa5856d2cdc96dd8ab725c0756df8d..aa86eb9bb66895024349a513afaa3b822a7764b6 100644 (file)
--- a/ktable.py
+++ b/ktable.py
@@ -61,7 +61,6 @@ class KTable:
        except ValueError:
            pass
        else:
-           self.buckets[i].touch()
            return [self.buckets[i].l[index]]
            
        nodes = nodes + self.buckets[i].l
@@ -75,10 +74,8 @@ class KTable:
            while (len(nodes) < K and (min >= 0 or max < len(self.buckets))):
                if min >= 0:
                    nodes = nodes + self.buckets[min].l
-                   self.buckets[min].touch()
                if max < len(self.buckets):
                    nodes = nodes + self.buckets[max].l
-                   self.buckets[max].touch()
                min = min - 1
                max = max + 1
            nodes.sort(sort)
@@ -128,10 +125,11 @@ class KTable:
            if contacted:
                node.updateLastSeen()
                # move node to end of bucket
+               xnode = self.buckets[i].l[it]
                del(self.buckets[i].l[it])
                # note that we removed the original and replaced it with the new one
                # utilizing this nodes new contact info
-               self.buckets[i].l.append(node)
+               self.buckets[i].l.append(xnode)
                self.buckets[i].touch()
            return
        
@@ -196,7 +194,6 @@ class KBucket:
     def getNodeWithInt(self, int):
        try:
            return self.l[self.l.index(int)]
-           self.touch()
        except IndexError:
            raise ValueError