Author: nextgens
Date: 2006-08-27 13:45:23 +0000 (Sun, 27 Aug 2006)
New Revision: 10282
Modified:
trunk/freenet/src/freenet/node/Node.java
Log:
optimize maybeLogPeerNodeStatusSummary() : it seems to be much faster than
doing nth. hashmap lookups :/
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2006-08-27 13:26:30 UTC (rev
10281)
+++ trunk/freenet/src/freenet/node/Node.java 2006-08-27 13:45:23 UTC (rev
10282)
@@ -2544,16 +2544,57 @@
if(now > nextPeerNodeStatusLogTime) {
if((now - nextPeerNodeStatusLogTime) > (10*1000) &&
nextPeerNodeStatusLogTime > 0)
Logger.error(this,"maybeLogPeerNodeStatusSummary() not called
for more than 10 seconds ("+(now - nextPeerNodeStatusLogTime)+"). PacketSender
getting bogged down or something?");
- int numberOfConnected =
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED);
- int numberOfRoutingBackedOff =
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF);
- int numberOfTooNew =
getPeerNodeStatusSize(PEER_NODE_STATUS_TOO_NEW);
- int numberOfTooOld =
getPeerNodeStatusSize(PEER_NODE_STATUS_TOO_OLD);
- int numberOfDisconnected =
getPeerNodeStatusSize(PEER_NODE_STATUS_DISCONNECTED);
- int numberOfNeverConnected =
getPeerNodeStatusSize(PEER_NODE_STATUS_NEVER_CONNECTED);
- int numberOfDisabled =
getPeerNodeStatusSize(PEER_NODE_STATUS_DISABLED);
- int numberOfListenOnly =
getPeerNodeStatusSize(PEER_NODE_STATUS_LISTEN_ONLY);
- int numberOfListening =
getPeerNodeStatusSize(PEER_NODE_STATUS_LISTENING);
- int numberOfBursting =
getPeerNodeStatusSize(PEER_NODE_STATUS_BURSTING);
+
+ int numberOfConnected = 0;
+ int numberOfRoutingBackedOff = 0;
+ int numberOfTooNew = 0;
+ int numberOfTooOld = 0;
+ int numberOfDisconnected = 0;
+ int numberOfNeverConnected = 0;
+ int numberOfDisabled = 0;
+ int numberOfListenOnly = 0;
+ int numberOfListening = 0;
+ int numberOfBursting = 0;
+
+ PeerNodeStatus[] pns = getPeerNodeStatuses();
+
+ for(int i=0; i<pns.length; i++){
+ switch (pns[i].getStatusValue()) {
+ case PEER_NODE_STATUS_CONNECTED:
+ numberOfConnected++;
+ break;
+ case PEER_NODE_STATUS_ROUTING_BACKED_OFF:
+ numberOfRoutingBackedOff++;
+ break;
+ case PEER_NODE_STATUS_TOO_NEW:
+ numberOfTooNew++;
+ break;
+ case PEER_NODE_STATUS_TOO_OLD:
+ numberOfTooOld++;
+ break;
+ case PEER_NODE_STATUS_DISCONNECTED:
+ numberOfDisconnected++;
+ break;
+ case PEER_NODE_STATUS_NEVER_CONNECTED:
+ numberOfNeverConnected++;
+ break;
+ case PEER_NODE_STATUS_DISABLED:
+ numberOfDisabled++;
+ break;
+ case PEER_NODE_STATUS_LISTEN_ONLY:
+ numberOfListenOnly++;
+ break;
+ case PEER_NODE_STATUS_LISTENING:
+ numberOfListening++;
+ break;
+ case PEER_NODE_STATUS_BURSTING:
+ numberOfBursting++;
+ break;
+ default:
+ Logger.error(this, "Unkown peer status value :
"+pns[i].getStatusValue());
+ break;
+ }
+ }
Logger.normal(this, "Connected: "+numberOfConnected+" Routing
Backed Off: "+numberOfRoutingBackedOff+" Too New: "+numberOfTooNew+" Too Old:
"+numberOfTooOld+" Disconnected: "+numberOfDisconnected+" Never Connected:
"+numberOfNeverConnected+" Disabled: "+numberOfDisabled+" Bursting:
"+numberOfBursting+" Listening: "+numberOfListening+" Listen Only:
"+numberOfListenOnly);
nextPeerNodeStatusLogTime = now + peerNodeStatusLogInterval;
}