Author: toad
Date: 2008-02-06 19:31:09 +0000 (Wed, 06 Feb 2008)
New Revision: 17606

Modified:
   trunk/freenet/src/freenet/node/FailureTable.java
Log:
Add onFatalFailure(), the other new callback

Modified: trunk/freenet/src/freenet/node/FailureTable.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTable.java    2008-02-06 19:27:50 UTC 
(rev 17605)
+++ trunk/freenet/src/freenet/node/FailureTable.java    2008-02-06 19:31:09 UTC 
(rev 17606)
@@ -85,6 +85,24 @@
                entry.failedTo(routedTo, timeout, now, htl);
        }

+       public void onFinalFailure(Key key, PeerNode routedTo, short htl, int 
timeout, PeerNode requestor) {
+               long now = System.currentTimeMillis();
+               FailureTableEntry entry;
+               synchronized(this) {
+                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       if(entry == null) {
+                               entry = new FailureTableEntry(key);
+                               entriesByKey.push(key, entry);
+                               return;
+                       } else {
+                               entriesByKey.push(key, entry);
+                       }
+                       trimEntries(now);
+               }
+               entry.failedTo(routedTo, timeout, now, htl);
+               entry.addRequestor(requestor, now);
+       }
+       
        /**
         * Called when a node kills a request: the request DNFs, is killed by a 
RecentlyFailed message, 
         * or times out. In any case this will create a FailureTableEntry.


Reply via email to