Author: toad
Date: 2007-12-15 15:52:02 +0000 (Sat, 15 Dec 2007)
New Revision: 16575
Modified:
trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
trunk/freenet/src/freenet/node/PeerManager.java
Log:
Better detection of peer count.
Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-12-15
15:48:50 UTC (rev 16574)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-12-15
15:52:02 UTC (rev 16575)
@@ -243,7 +243,7 @@
if(logMINOR) Logger.minor(this, "Maybe running IP detection
plugins", new Exception("debug"));
PeerNode[] peers = node.getPeerNodes();
PeerNode[] conns = node.getConnectedPeers();
- int peerCount = node.peers.getOpennetPeers().length +
node.peers.getDarknetPeers().length;
+ int peerCount = node.peers.countValidPeers();
FreenetInetAddress[] nodeAddrs = detector.getPrimaryIPAddress();
long now = System.currentTimeMillis();
synchronized(this) {
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2007-12-15 15:48:50 UTC
(rev 16574)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2007-12-15 15:52:02 UTC
(rev 16575)
@@ -1460,4 +1460,18 @@
}
return count;
}
+
+ /**
+ * How many peers do we have that actually may connect? Don't include
seednodes, disabled nodes, etc.
+ */
+ public int countValidPeers() {
+ PeerNode[] peers = myPeers;
+ int count = 0;
+ for(int i=0;i<peers.length;i++) {
+ if(!peers[i].isSearchable()) continue;
+ if(peers[i].isDisabled()) continue;
+ count++;
+ }
+ return count;
+ }
}