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;