Fix some bugs in the pinging and ID checking.
[quix0rs-apt-p2p.git] / apt_p2p_Khashmir / ktable.py
index 864dfe50feaadf1732f3319e46f48d68403efdd9..1107f00ee4be9b2b19164809eae04172f6e0757e 100644 (file)
@@ -128,11 +128,13 @@ class KTable:
         try:
             it = self.buckets[i].l.index(stale.num)
         except ValueError:
-            return
-    
-        # Remove the stale node and insert the new one
-        del(self.buckets[i].l[it])
-        if new:
+            pass
+        else:
+            # Remove the stale node
+            del(self.buckets[i].l[it])
+        
+        # Insert the new node
+        if new and self._bucketIndexForInt(new.num) == i and len(self.buckets[i].l) < self.config['K']:
             self.buckets[i].l.append(new)
     
     def insertNode(self, node, contacted = True):