Author: toad
Date: 2007-08-07 15:04:06 +0000 (Tue, 07 Aug 2007)
New Revision: 14505

Modified:
   trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
   trunk/freenet/src/freenet/node/CHKInsertSender.java
   trunk/freenet/src/freenet/node/FailureTableEntry.java
   trunk/freenet/src/freenet/node/InsertHandler.java
   trunk/freenet/src/freenet/node/Location.java
   trunk/freenet/src/freenet/node/LocationManager.java
   trunk/freenet/src/freenet/node/NodeDispatcher.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/RequestHandler.java
   trunk/freenet/src/freenet/node/RequestSender.java
   trunk/freenet/src/freenet/node/SSKInsertHandler.java
   trunk/freenet/src/freenet/node/SSKInsertSender.java
Log:
Move distance(...) from PeerManager to Location

Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-08-07 13:54:38 UTC (rev 14504)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-08-07 15:04:06 UTC (rev 14505)
@@ -17,6 +17,7 @@
 import freenet.io.comm.IOStatisticCollector;
 import freenet.l10n.L10n;
 import freenet.node.DarknetPeerNodeStatus;
+import freenet.node.Location;
 import freenet.node.Node;
 import freenet.node.NodeClientCore;
 import freenet.node.NodeStarter;
@@ -871,7 +872,7 @@
                for (int peerIndex = 0; peerIndex < peerCount; peerIndex++) {
                        peerNodeStatus = peerNodeStatuses[peerIndex];
                        peerLocation = peerNodeStatus.getLocation();
-                       peerDistance = PeerManager.distance( myLocation, 
peerLocation );
+                       peerDistance = Location.distance( myLocation, 
peerLocation );
                        histogramIndex = (int) (Math.floor(peerDistance * 
HISTOGRAM_LENGTH * 2));
                        if (peerNodeStatus.isConnected()) {
                                histogramConnected[histogramIndex]++;

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -263,7 +263,7 @@

             Message req;
             synchronized (this) {
-               if(PeerManager.distance(target, nextValue) > 
PeerManager.distance(target, closestLocation)) {
+               if(Location.distance(target, nextValue) > 
Location.distance(target, closestLocation)) {
                        if(logMINOR) Logger.minor(this, "Backtracking: 
target="+target+" next="+nextValue+" closest="+closestLocation);
                        htl = node.decrementHTL(source, htl);
                }

Modified: trunk/freenet/src/freenet/node/FailureTableEntry.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTableEntry.java       2007-08-07 
13:54:38 UTC (rev 14504)
+++ trunk/freenet/src/freenet/node/FailureTableEntry.java       2007-08-07 
15:04:06 UTC (rev 14505)
@@ -271,7 +271,7 @@
                        PeerNode pn = (PeerNode) requestedNodes[i].get();
                        if(pn == null) continue;
                        if(!(pn.isRoutable() && pn.isRoutingBackedOff())) 
continue;
-                       double diff = 
PeerManager.distance(key.toNormalizedDouble(), requestedLocs[i]);
+                       double diff = 
Location.distance(key.toNormalizedDouble(), requestedLocs[i]);
                        if(diff < bestDiff) bestDiff = diff;
                }
                return bestDiff;

Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java   2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/InsertHandler.java   2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -58,7 +58,7 @@
         closestLoc = req.getDouble(DMT.NEAREST_LOCATION);
         double targetLoc = key.toNormalizedDouble();
         double myLoc = node.lm.getLocation().getValue();
-        if(PeerManager.distance(targetLoc, myLoc) < 
PeerManager.distance(targetLoc, closestLoc)) {
+        if(Location.distance(targetLoc, myLoc) < Location.distance(targetLoc, 
closestLoc)) {
             closestLoc = myLoc;
             htl = node.maxHTL();
         }

Modified: trunk/freenet/src/freenet/node/Location.java
===================================================================
--- trunk/freenet/src/freenet/node/Location.java        2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/Location.java        2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -4,6 +4,7 @@
 package freenet.node;

 import freenet.crypt.RandomSource;
+import freenet.support.Logger;

 /**
  * @author amphibian
@@ -63,4 +64,28 @@
     public synchronized void randomize(RandomSource r) {
         setValue(r.nextDouble());
     }
+
+       static double distance(PeerNode p, double loc) {
+               double d = distance(p.getLocation().getValue(), loc);
+               return d;
+               //return d * p.getBias();
+       }
+
+       /**
+        * Distance between two locations.
+        * Both parameters must be in [0.0, 1.0].
+        */
+       public static double distance(double a, double b) {
+               return distance(a, b, false);
+       }
+
+       public static double distance(double a, double b, boolean allowCrazy) {
+           if(((a < 0.0 || a > 1.0)||(b < 0.0 || b > 1.0)) && !allowCrazy) {
+               Logger.error(PeerManager.class, "Invalid Location ! a = "+a +" 
b = "+ b + "Please report this bug!", new Exception("error"));
+               throw new NullPointerException();
+           }
+           // Circular keyspace
+               if (a > b) return Math.min (a - b, 1.0 - a + b);
+               else return Math.min (b - a, 1.0 - b + a);
+       }
 }

Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -640,22 +640,22 @@
         double A = 1.0;
         for(int i=0;i<friendLocs.length;i++) {
             if(Math.abs(friendLocs[i] - myLoc) <= Double.MIN_VALUE) continue;
-            A *= PeerManager.distance(friendLocs[i], myLoc);
+            A *= Location.distance(friendLocs[i], myLoc);
         }
         for(int i=0;i<hisFriendLocs.length;i++) {
             if(Math.abs(hisFriendLocs[i] - hisLoc) <= Double.MIN_VALUE) 
continue;
-            A *= PeerManager.distance(hisFriendLocs[i], hisLoc);
+            A *= Location.distance(hisFriendLocs[i], hisLoc);
         }

         // B = the same, with our two values swapped
         double B = 1.0;
         for(int i=0;i<friendLocs.length;i++) {
             if(Math.abs(friendLocs[i] - hisLoc) <= Double.MIN_VALUE) continue;
-            B *= PeerManager.distance(friendLocs[i], hisLoc);
+            B *= Location.distance(friendLocs[i], hisLoc);
         }
         for(int i=0;i<hisFriendLocs.length;i++) {
             if(Math.abs(hisFriendLocs[i] - myLoc) <= Double.MIN_VALUE) 
continue;
-            B *= PeerManager.distance(hisFriendLocs[i], myLoc);
+            B *= Location.distance(hisFriendLocs[i], myLoc);
         }

         //Logger.normal(this, "A="+A+" B="+B);

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -651,12 +651,12 @@
                // Rejected, or even reply, cannot make nearest *worse* and 
thereby prolong the request.
                // In fact, rejected probe requests result in clearing nearest 
at the beginning of the function, so it is vital
                // that we restore it here.
-               if(PeerManager.distance(ctx.nearest, target, true) < 
PeerManager.distance(nearest, target, true)) {
+               if(Location.distance(ctx.nearest, target, true) < 
Location.distance(nearest, target, true)) {
                        nearest = ctx.nearest;
                }

                // If we are closer to the target than nearest, update nearest 
and reset HTL, else decrement HTL
-               if(PeerManager.distance(myLoc, target, true) < 
PeerManager.distance(nearest, target, true)) {
+               if(Location.distance(myLoc, target, true) < 
Location.distance(nearest, target, true)) {
                        if(logMINOR)
                                Logger.minor(this, "Updating nearest to 
"+myLoc+" from "+nearest+" for "+target+" and resetting htl from "+htl+" to 
"+max);
                        if(Math.abs(nearest - myLoc) > Double.MIN_VALUE * 2)
@@ -707,8 +707,8 @@
                                public int compare(Object arg0, Object arg1) {
                                        double d0 = ((Double) 
arg0).doubleValue();
                                        double d1 = ((Double) 
arg1).doubleValue();
-                                       double dist0 = PeerManager.distance(d0, 
target, true);
-                                       double dist1 = PeerManager.distance(d1, 
target, true);
+                                       double dist0 = Location.distance(d0, 
target, true);
+                                       double dist1 = Location.distance(d1, 
target, true);
                                        if(dist0 < dist1) return -1; // best at 
the beginning
                                        if(dist0 > dist1) return 1;
                                        return 0; // should not happen
@@ -871,8 +871,8 @@
                                                public int compare(Object arg0, 
Object arg1) {
                                                        double d0 = ((Double) 
arg0).doubleValue();
                                                        double d1 = ((Double) 
arg1).doubleValue();
-                                                       double dist0 = 
PeerManager.distance(d0, target, true);
-                                                       double dist1 = 
PeerManager.distance(d1, target, true);
+                                                       double dist0 = 
Location.distance(d0, target, true);
+                                                       double dist1 = 
Location.distance(d1, target, true);
                                                        if(dist0 < dist1) 
return -1; // best at the beginning
                                                        if(dist0 > dist1) 
return 1;
                                                        return 0; // should not 
happen
@@ -883,7 +883,7 @@

                                        for(int 
i=0;i<notVisitedList.size();i++) {
                                                double loc = 
((Double)(notVisitedList.get(i))).doubleValue();
-                                               double dist = 
PeerManager.distance(loc, target);
+                                               double dist = 
Location.distance(loc, target);
                                                if(dist > furthestDist) {
                                                        furthestDist = dist;
                                                }

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -516,7 +516,7 @@
             double peerloc = p.getLocation().getValue();
             if(Math.abs(peerloc - ignoreLoc) < Double.MIN_VALUE*2)
                continue;
-            double diff = distance(peerloc, loc);
+            double diff = Location.distance(peerloc, loc);
             if(diff < bestDiff) {
                foundOne = true;
                 bestDiff = diff;
@@ -531,7 +531,7 @@
                 double peerloc = p.getLocation().getValue();
                 if(Math.abs(peerloc - ignoreLoc) < Double.MIN_VALUE*2)
                        continue;
-                double diff = distance(peerloc, loc);
+                double diff = Location.distance(peerloc, loc);
                 if(diff < bestDiff) {
                        foundOne = true;
                     bestDiff = diff;
@@ -544,40 +544,16 @@

     public boolean isCloserLocation(double loc) {
        double nodeLoc = node.lm.getLocation().getValue();
-       double nodeDist = distance(nodeLoc, loc);
+       double nodeDist = Location.distance(nodeLoc, loc);
        double closest = closestPeerLocation(loc, nodeLoc);
        if(closest > 1.0) {
                // No peers found
                return false;
        }
-       double closestDist = distance(closest, loc);
+       double closestDist = Location.distance(closest, loc);
        return closestDist < nodeDist;
     }

-    static double distance(PeerNode p, double loc) {
-       double d = distance(p.getLocation().getValue(), loc);
-       return d;
-       //return d * p.getBias();
-    }
-    
-    /**
-     * Distance between two locations.
-     * Both parameters must be in [0.0, 1.0].
-     */
-    public static double distance(double a, double b) {
-       return distance(a, b, false);
-    }
-    
-    public static double distance(double a, double b, boolean allowCrazy) {
-        if(((a < 0.0 || a > 1.0)||(b < 0.0 || b > 1.0)) && !allowCrazy) {
-               Logger.error(PeerManager.class, "Invalid Location ! a = "+a +" 
b = "+ b + "Please report this bug!", new Exception("error"));
-               throw new NullPointerException();
-        }
-        // Circular keyspace
-       if (a > b) return Math.min (a - b, 1.0 - a + b);
-       else return Math.min (b - a, 1.0 - b + a);
-    }
-
     public PeerNode closerPeer(PeerNode pn, Set routedTo, Set notIgnored, 
double loc, boolean ignoreSelf, boolean calculateMisrouting, int minVersion, 
Vector addUnpickedLocsTo) {
        return closerPeer(pn, routedTo, notIgnored, loc, ignoreSelf, 
calculateMisrouting, minVersion, addUnpickedLocsTo, 2.0);
     }
@@ -593,7 +569,7 @@
        if (calculateMisrouting) {
                PeerNode nbo = _closerPeer(pn, routedTo, notIgnored, loc, 
ignoreSelf, true, minVersion, null, maxDistance);
                if(nbo != null) {
-                       
node.nodeStats.routingMissDistance.report(distance(best, 
nbo.getLocation().getValue()));
+                       
node.nodeStats.routingMissDistance.report(Location.distance(best, 
nbo.getLocation().getValue()));
                        int numberOfConnected = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED);
                        int numberOfRoutingBackedOff = 
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF);
                        if (numberOfRoutingBackedOff + numberOfConnected > 0 ) {
@@ -627,7 +603,7 @@
         double bestDiff = Double.MAX_VALUE;
         double maxDiff = 0.0;
         if(!ignoreSelf)
-            maxDiff = distance(node.lm.getLocation().getValue(), target);
+            maxDiff = Location.distance(node.lm.getLocation().getValue(), 
target);
         PeerNode best = null;
         double bestLoc = -2;
         int count = 0;
@@ -654,9 +630,9 @@
                continue;
             }
             count++;
-            double diff = distance(p, target);
+            double diff = Location.distance(p, target);
             if(diff > maxDistance) continue;
-            if(logMINOR) Logger.minor(this, 
"p.loc="+p.getLocation().getValue()+", target="+target+", 
d="+distance(p.getLocation().getValue(), target)+" usedD="+diff+" for 
"+p.getPeer());
+            if(logMINOR) Logger.minor(this, 
"p.loc="+p.getLocation().getValue()+", target="+target+", 
d="+Location.distance(p.getLocation().getValue(), target)+" usedD="+diff+" for 
"+p.getPeer());
             if((!ignoreSelf) && (diff > maxDiff)) {
                if(logMINOR) Logger.minor(this, "Ignoring because 
>maxDiff="+maxDiff);
                continue;

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -57,7 +57,7 @@
         double myLoc = n.lm.getLocation().getValue();
         key = (Key) req.getObject(DMT.FREENET_ROUTING_KEY);
         double keyLoc = key.toNormalizedDouble();
-        if(PeerManager.distance(keyLoc, myLoc) < PeerManager.distance(keyLoc, 
closestLoc)) {
+        if(Location.distance(keyLoc, myLoc) < Location.distance(keyLoc, 
closestLoc)) {
             closestLoc = myLoc;
             htl = node.maxHTL();
             resetClosestLoc = true;

Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -154,7 +154,7 @@
             if(logMINOR) Logger.minor(this, "Routing request to "+next);
             nodesRoutedTo.add(next);

-            if(PeerManager.distance(target, nextValue) > 
PeerManager.distance(target, nearestLoc)) {
+            if(Location.distance(target, nextValue) > 
Location.distance(target, nearestLoc)) {
                 htl = node.decrementHTL(source, htl);
                 if(logMINOR) Logger.minor(this, "Backtracking: 
target="+target+" next="+nextValue+" closest="+nearestLoc+" so htl="+htl);
             }

Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java        2007-08-07 
13:54:38 UTC (rev 14504)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java        2007-08-07 
15:04:06 UTC (rev 14505)
@@ -56,7 +56,7 @@
         closestLoc = req.getDouble(DMT.NEAREST_LOCATION);
         double targetLoc = key.toNormalizedDouble();
         double myLoc = node.lm.getLocation().getValue();
-        if(PeerManager.distance(targetLoc, myLoc) < 
PeerManager.distance(targetLoc, closestLoc)) {
+        if(Location.distance(targetLoc, myLoc) < Location.distance(targetLoc, 
closestLoc)) {
             closestLoc = myLoc;
             htl = node.maxHTL();
             resetClosestLoc = true;

Modified: trunk/freenet/src/freenet/node/SSKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-08-07 13:54:38 UTC 
(rev 14504)
+++ trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-08-07 15:04:06 UTC 
(rev 14505)
@@ -152,7 +152,7 @@
             if(logMINOR) Logger.minor(this, "Routing insert to "+next);
             nodesRoutedTo.add(next);

-            if(PeerManager.distance(target, nextValue) > 
PeerManager.distance(target, closestLocation)) {
+            if(Location.distance(target, nextValue) > 
Location.distance(target, closestLocation)) {
                if(logMINOR) Logger.minor(this, "Backtracking: 
target="+target+" next="+nextValue+" closest="+closestLocation);
                 htl = node.decrementHTL(source, htl);
             }


Reply via email to