Author: zothar
Date: 2006-06-02 11:30:51 +0000 (Fri, 02 Jun 2006)
New Revision: 8980
Modified:
trunk/freenet/src/freenet/node/DNSRequester.java
trunk/freenet/src/freenet/node/PacketSender.java
Log:
After toad (thanks toad) helped me realize how silly it was to move the "time
sensitive" updater to the slow DNSRequester thread in r8962, I've moved it back
to PacketSender, where PeerNode shouldn't be blocking it with a lock very long
anyway. I've also thought of the optimisation I wanted when I put it in
PacketSender in the first place.
Modified: trunk/freenet/src/freenet/node/DNSRequester.java
===================================================================
--- trunk/freenet/src/freenet/node/DNSRequester.java 2006-06-02 07:44:57 UTC
(rev 8979)
+++ trunk/freenet/src/freenet/node/DNSRequester.java 2006-06-02 11:30:51 UTC
(rev 8980)
@@ -52,11 +52,6 @@
PeerManager pm = node.peers;
PeerNode[] nodes = pm.myPeers;
long now = System.currentTimeMillis();
- // Run the time sensitive status updater separately
- for(int i=0;i<nodes.length;i++) {
- PeerNode pn = nodes[i];
- pn.setPeerNodeStatus(now);
- }
if((now - lastLogTime) > 1000) {
Logger.minor(this, "Processing DNS Requests (log rate-limited)");
lastLogTime = now;
Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java 2006-06-02 07:44:57 UTC
(rev 8979)
+++ trunk/freenet/src/freenet/node/PacketSender.java 2006-06-02 11:30:51 UTC
(rev 8980)
@@ -107,6 +107,15 @@
lastTimeInSeconds = (int) (now / 1000);
PeerManager pm = node.peers;
PeerNode[] nodes = pm.myPeers;
+ // Run the time sensitive status updater separately
+ for(int i = 0; i < nodes.length; i++) {
+ PeerNode pn = nodes[i];
+ // Only routing backed off nodes should need status updating since
everything else
+ // should get updated immediately when it's changed
+ if(pn.getPeerNodeStatus() ==
Node.PEER_NODE_STATUS_ROUTING_BACKED_OFF) {
+ pn.setPeerNodeStatus(now);
+ }
+ }
node.maybeLogPeerNodeStatusSummary(now);
long nextActionTime = Long.MAX_VALUE;
long oldTempNow = now;