Author: toad
Date: 2007-05-22 13:42:26 +0000 (Tue, 22 May 2007)
New Revision: 13295

Modified:
   trunk/freenet/src/freenet/node/LocationManager.java
   trunk/freenet/src/freenet/node/NodeDispatcher.java
Log:
Backwards compatible (more or less) indication in trace of which peers are 
backed off.

Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2007-05-22 13:26:41 UTC 
(rev 13294)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2007-05-22 13:42:26 UTC 
(rev 13295)
@@ -1122,10 +1122,17 @@
                return uids;
        }

-       public static double[] extractLocs(PeerNode[] peers) {
+       public static double[] extractLocs(PeerNode[] peers, boolean 
indicateBackoff) {
                double[] locs = new double[peers.length];
-               for(int i=0;i<peers.length;i++)
+               for(int i=0;i<peers.length;i++) {
                        locs[i] = peers[i].getLocation().getValue();
+                       if(indicateBackoff) {
+                               if(peers[i].isRoutingBackedOff())
+                                       locs[i] += 1;
+                               else
+                                       locs[i] = -1 - locs[i];
+                       }
+               }
                return locs;
        }


Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2007-05-22 13:26:41 UTC 
(rev 13294)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2007-05-22 13:42:26 UTC 
(rev 13295)
@@ -640,7 +640,7 @@

                        if(src != null) {
                                Message trace =
-                                       DMT.createFNPProbeTrace(id, target, 
nearest, best, htl, counter, myLoc, node.swapIdentifier, 
LocationManager.extractLocs(peers), LocationManager.extractUIDs(peers));
+                                       DMT.createFNPProbeTrace(id, target, 
nearest, best, htl, counter, myLoc, node.swapIdentifier, 
LocationManager.extractLocs(peers, true), LocationManager.extractUIDs(peers));
                                try {
                                        src.sendAsync(trace, null, 0, null);
                                } catch (NotConnectedException e1) {


Reply via email to