Author: toad
Date: 2007-06-28 14:11:04 +0000 (Thu, 28 Jun 2007)
New Revision: 13806

Modified:
   trunk/freenet/src/freenet/node/FailureTableEntry.java
Log:
Use old locations, and from nodes we have sent requests to

Modified: trunk/freenet/src/freenet/node/FailureTableEntry.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTableEntry.java       2007-06-28 
14:05:50 UTC (rev 13805)
+++ trunk/freenet/src/freenet/node/FailureTableEntry.java       2007-06-28 
14:11:04 UTC (rev 13806)
@@ -266,18 +266,14 @@
                requestedTimes = newRequestedTimes;
        }

-       public double bestLiveLocDiff() {
-               WeakReference[] nodes;
-               synchronized(this) {
-                       nodes = requestedNodes;
-               }
+       public synchronized double bestLiveLocDiff() {
                double bestDiff = 2.0;
-               for(int i=0;i<nodes.length;i++) {
-                       if(nodes[i] == null) continue;
-                       PeerNode pn = (PeerNode) nodes[i].get();
+               for(int i=0;i<requestedNodes.length;i++) {
+                       if(requestedNodes[i] == null) continue;
+                       PeerNode pn = (PeerNode) requestedNodes[i].get();
                        if(pn == null) continue;
                        if(!(pn.isRoutable() && pn.isRoutingBackedOff())) 
continue;
-                       double diff = 
PeerManager.distance(key.toNormalizedDouble(), pn.getLocation().getValue());
+                       double diff = 
PeerManager.distance(key.toNormalizedDouble(), requestedLocs[i]);
                        if(diff < bestDiff) bestDiff = diff;
                }
                return bestDiff;


Reply via email to