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()));