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);
+ }
}