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

toad at freenetproject.org toad at freenetproject.org
Wed Aug 8 19:25:16 UTC 2007


Author: toad
Date: 2007-08-08 19:25:15 +0000 (Wed, 08 Aug 2007)
New Revision: 14535

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
Log:
successCount: don't reset it unless we actually add a peer, and do reset it even if the peer we were replacing was disconnected
successCount is simply the number of successes since we last added a peer

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java	2007-08-08 19:02:52 UTC (rev 14534)
+++ trunk/freenet/src/freenet/node/OpennetManager.java	2007-08-08 19:25:15 UTC (rev 14535)
@@ -239,13 +239,13 @@
 		synchronized(this) {
 			boolean hasDisconnected = false;
 			if(peersLRU.size() == MAX_PEERS && nodeToAddNow == null) {
-				PeerNode toDrop = peerToDrop(true, false);
+				PeerNode toDrop = peerToDrop(true);
 				if(toDrop != null)
 					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);
+				toDrop = peerToDrop(noDisconnect && nodeToAddNow != null && peersLRU.size() == MAX_PEERS);
 				if(toDrop == null) {
 					if(logMINOR)
 						Logger.minor(this, "No more peers to drop, cannot accept peer"+(nodeToAddNow == null ? "" : nodeToAddNow.toString()));
@@ -269,6 +269,7 @@
 						ret = false;
 						if(logMINOR) Logger.minor(this, "Could not add opennet peer "+nodeToAddNow+" because already in list");
 					} else {
+						successCount = 0;
 						if(addAtLRU)
 							peersLRU.pushLeast(nodeToAddNow);
 						else
@@ -302,14 +303,14 @@
 	private void dropExcessPeers() {
 		while(peersLRU.size() > MAX_PEERS) {
 			PeerNode toDrop;
-			toDrop = peerToDrop(false, false);
+			toDrop = peerToDrop(false);
 			if(toDrop == null) return;
 			peersLRU.remove(toDrop);
 			node.peers.disconnect(toDrop);
 		}
 	}
 	
-	synchronized PeerNode peerToDrop(boolean noDisconnect, boolean resetSuccessCount) {
+	synchronized PeerNode peerToDrop(boolean noDisconnect) {
 		if(peersLRU.size() < MAX_PEERS) {
 			// Don't drop any peers
 			return null;
@@ -337,8 +338,6 @@
 				if(Logger.shouldLog(Logger.MINOR, this))
 					Logger.minor(this, "Possibly dropping opennet peer "+pn+" "+
 							(System.currentTimeMillis() - timeLastDropped)+" ms since last dropped peer");
-				if(resetSuccessCount)
-					successCount = 0;
 				return pn;
 			}
 		}




More information about the cvs mailing list