Author: toad
Date: 2008-02-02 23:44:54 +0000 (Sat, 02 Feb 2008)
New Revision: 17490

Modified:
   trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
   trunk/freenet/src/freenet/client/async/OfferedKeysList.java
   trunk/freenet/src/freenet/node/FailureTable.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
Log:
Dequeue key when no longer any offers for it.

Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-02-02 23:42:40 UTC (rev 17489)
+++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-02-02 23:44:54 UTC (rev 17490)
@@ -638,4 +638,10 @@
                if(priority == Short.MAX_VALUE) return;
                offeredKeys[priority].queueKey(key);
        }
+
+       public void dequeueOfferedKey(Key key) {
+               for(int i=0;i<offeredKeys.length;i++) {
+                       offeredKeys[i].remove(key);
+               }
+       }
 }

Modified: trunk/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2008-02-02 
23:42:40 UTC (rev 17489)
+++ trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2008-02-02 
23:44:54 UTC (rev 17490)
@@ -56,15 +56,6 @@
                }
        }

-       /** Called when there are no more valid offers for a key */
-       public synchronized void onNoOffers(ClientKey key) {
-               logMINOR = Logger.shouldLog(Logger.MINOR, this);
-               if(logMINOR) Logger.minor(this, "No offers for "+key+" , 
removing it");
-               Key k = key.getNodeKey();
-               keys.remove(k);
-               keysList.remove(k);
-       }
-
        public synchronized boolean isEmpty() {
                return keys.isEmpty();
        }

Modified: trunk/freenet/src/freenet/node/FailureTable.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTable.java    2008-02-02 23:42:40 UTC 
(rev 17489)
+++ trunk/freenet/src/freenet/node/FailureTable.java    2008-02-02 23:44:54 UTC 
(rev 17490)
@@ -183,6 +183,7 @@
                                synchronized(FailureTable.this) {
                                        
blockOfferListByKey.removeKey(entry.key);
                                }
+                               node.clientCore.dequeueOfferedKey(entry.key);
                        }
                }


Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2008-02-02 23:42:40 UTC 
(rev 17489)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2008-02-02 23:44:54 UTC 
(rev 17490)
@@ -1107,4 +1107,12 @@
                                                
requestStarters.chkFetchScheduler;
                sched.maybeQueueOfferedKey(key, force);
        }
+
+       public void dequeueOfferedKey(Key key) {
+               ClientRequestScheduler sched =
+                       key instanceof NodeSSK ?
+                                       requestStarters.sskFetchScheduler :
+                                               
requestStarters.chkFetchScheduler;
+               sched.dequeueOfferedKey(key);
+       }
 }


Reply via email to