Author: toad
Date: 2008-01-24 19:04:53 +0000 (Thu, 24 Jan 2008)
New Revision: 17239

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
   trunk/freenet/src/freenet/node/RequestSender.java
   trunk/freenet/src/freenet/node/SSKInsertSender.java
Log:
The first time, we decide whether to decrement on the basis of the requestor.
After that, we assume the node which rejected or RNFed is now the requestor, 
and check that node's decrementAtMax/MinHtl.

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-24 18:59:02 UTC 
(rev 17238)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-24 19:04:53 UTC 
(rev 17239)
@@ -285,7 +285,7 @@
             synchronized (this) {
                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);
+                       htl = node.decrementHTL(sentRequest ? next : source, 
htl);
                }

                req = DMT.createFNPInsertRequest(uid, htl, myKey, 
closestLocation);

Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2008-01-24 18:59:02 UTC 
(rev 17238)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2008-01-24 19:04:53 UTC 
(rev 17239)
@@ -173,7 +173,7 @@
             nodesRoutedTo.add(next);

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


Modified: trunk/freenet/src/freenet/node/SSKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertSender.java 2008-01-24 18:59:02 UTC 
(rev 17238)
+++ trunk/freenet/src/freenet/node/SSKInsertSender.java 2008-01-24 19:04:53 UTC 
(rev 17239)
@@ -153,7 +153,7 @@

             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);
+                htl = node.decrementHTL(sentRequest ? next : source, htl);
             }

             Message req = DMT.createFNPSSKInsertRequest(uid, htl, myKey, 
closestLocation, headers, data, pubKeyHash);


Reply via email to