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