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;
}
}