Author: toad
Date: 2007-09-21 15:14:55 +0000 (Fri, 21 Sep 2007)
New Revision: 15227
Modified:
trunk/freenet/src/freenet/node/NodeDispatcher.java
Log:
Probe requests bugfix: Pass in a distance, *not a location* for maxDistance
when backtracking!
Effect of bug: We were doing much more backtracking than we should, and
probably never finishing.
Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java 2007-09-21 15:13:20 UTC
(rev 15226)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java 2007-09-21 15:14:55 UTC
(rev 15227)
@@ -897,6 +897,7 @@
});
double mustBeBetterThan =
((Double)locs[Math.min(3,locs.length)]).doubleValue();
+ double maxDistance =
Location.distance(mustBeBetterThan, target, true);
for(int
i=0;i<notVisitedList.size();i++) {
double loc =
((Double)(notVisitedList.get(i))).doubleValue();
@@ -905,7 +906,7 @@
furthestDist = dist;
}
}
- if(innerHandleProbeRequest(src, id,
lid, target, best, nearest, ctx.htl, counter, false, false, false, false, null,
notVisitedList, mustBeBetterThan, true, linearCounter, "backtracking"))
+ if(innerHandleProbeRequest(src, id,
lid, target, best, nearest, ctx.htl, counter, false, false, false, false, null,
notVisitedList, maxDistance, true, linearCounter, "backtracking"))
return true;
}
}