[freenet-cvs] r14518 - trunk/freenet/src/freenet/node

toad at freenetproject.org toad at freenetproject.org
Tue Aug 7 17:30:30 UTC 2007


Author: toad
Date: 2007-08-07 17:30:30 +0000 (Tue, 07 Aug 2007)
New Revision: 14518

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
Log:
We need a correct hasDisconnected even when thinking about sending an offer when we have 15 disconnected peers.

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java	2007-08-07 17:27:36 UTC (rev 14517)
+++ trunk/freenet/src/freenet/node/OpennetManager.java	2007-08-07 17:30:30 UTC (rev 14518)
@@ -238,7 +238,10 @@
 		Vector dropList = new Vector();
 		synchronized(this) {
 			boolean hasDisconnected = false;
-			while(peersLRU.size() > MAX_PEERS - (nodeToAddNow == null ? 0 : 1)) {
+			if(peersLRU.size() == MAX_PEERS && nodeToAddNow == null) {
+				PeerNode toDrop = peerToDrop(true, false);
+				hasDisconnected = !toDrop.isConnected();
+			} 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, nodeToAddNow != null);




More information about the cvs mailing list