Author: toad
Date: 2007-09-26 12:11:50 +0000 (Wed, 26 Sep 2007)
New Revision: 15320

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
Log:
Was: Don't drop peer if (not enough successes since last) && (we have a node to 
add) && (we have too many peers)
- Wrong!
Now: Don't drop peer if (not enough successes since last) || (we don't have a 
node to add)
Bug was causing more churn than should happen.

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-26 11:53:56 UTC 
(rev 15319)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-26 12:11:50 UTC 
(rev 15320)
@@ -280,7 +280,7 @@
                        } else while(peersLRU.size() > MAX_PEERS - 
(nodeToAddNow == null ? 0 : 1)) {
                                PeerNode toDrop;
                                // can drop peers which are over the limit
-                               toDrop = peerToDrop(noDisconnect && 
nodeToAddNow != null && peersLRU.size() >= MAX_PEERS);
+                               toDrop = peerToDrop(noDisconnect || 
nodeToAddNow == null);
                                if(toDrop == null) {
                                        if(logMINOR)
                                                Logger.minor(this, "No more 
peers to drop, cannot accept peer"+(nodeToAddNow == null ? "" : 
nodeToAddNow.toString()));


Reply via email to