Author: toad
Date: 2007-09-14 18:56:52 +0000 (Fri, 14 Sep 2007)
New Revision: 15174

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
Log:
Only count darknet peers for useralert in most cases.

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-09-14 18:51:29 UTC 
(rev 15173)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-09-14 18:56:52 UTC 
(rev 15174)
@@ -573,8 +573,8 @@
                PeerNode nbo = _closerPeer(pn, routedTo, notIgnored, loc, 
ignoreSelf, true, minVersion, null, maxDistance);
                if(nbo != null) {
                        
node.nodeStats.routingMissDistance.report(Location.distance(best, 
nbo.getLocation()));
-                       int numberOfConnected = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED);
-                       int numberOfRoutingBackedOff = 
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF);
+                       int numberOfConnected = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED, false);
+                       int numberOfRoutingBackedOff = 
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF, false);
                        if (numberOfRoutingBackedOff + numberOfConnected > 0 ) {
                                node.nodeStats.backedOffPercent.report((double) 
numberOfRoutingBackedOff / (double) (numberOfRoutingBackedOff + 
numberOfConnected));
                        }
@@ -817,17 +817,14 @@
         */
        public void updatePMUserAlert() {
                if(ua == null) return;
-               int conns, peers;
-               synchronized(this) {
-                       conns = this.connectedPeers.length;
-                       peers = this.getDarknetPeers().length;
-               }
+               int peers = this.getDarknetPeers().length;
                synchronized(ua) {
-                       ua.conns = conns;
+                       ua.conns = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED, true) +
+                               
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF, true);
                        ua.peers = peers;
-                       ua.neverConn = 
getPeerNodeStatusSize(PEER_NODE_STATUS_NEVER_CONNECTED);
-                       ua.clockProblem = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CLOCK_PROBLEM);
-                       ua.connError = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONN_ERROR);
+                       ua.neverConn = 
getPeerNodeStatusSize(PEER_NODE_STATUS_NEVER_CONNECTED, true);
+                       ua.clockProblem = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CLOCK_PROBLEM, true);
+                       ua.connError = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONN_ERROR, true);
                }
                if(anyConnectedPeers())
                        node.onConnectedPeer();
@@ -1011,10 +1008,12 @@

        /**
         * How many PeerNodes have a particular status?
+        * @param darknet If true, only count darknet nodes, if false, count 
all nodes.
         */
-       public int getPeerNodeStatusSize(int pnStatus) {
+       public int getPeerNodeStatusSize(int pnStatus, boolean darknet) {
                Integer peerNodeStatus = new Integer(pnStatus);
                HashSet statusSet = null;
+               HashMap peerNodeStatuses = darknet ? peerNodeStatusesDarknet : 
this.peerNodeStatuses;
                synchronized(peerNodeStatuses) {
                        if(peerNodeStatuses.containsKey(peerNodeStatus)) {
                                statusSet = (HashSet) 
peerNodeStatuses.get(peerNodeStatus);


Reply via email to