Author: toad
Date: 2009-03-06 22:37:26 +0000 (Fri, 06 Mar 2009)
New Revision: 25915
Modified:
branches/db4o/freenet/src/freenet/client/FECJob.java
branches/db4o/freenet/src/freenet/client/FECQueue.java
Log:
Missing files: cancelling FEC jobs
Modified: branches/db4o/freenet/src/freenet/client/FECJob.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FECJob.java 2009-03-06
22:36:39 UTC (rev 25914)
+++ branches/db4o/freenet/src/freenet/client/FECJob.java 2009-03-06
22:37:26 UTC (rev 25915)
@@ -5,6 +5,7 @@
import com.db4o.ObjectContainer;
+import freenet.client.async.ClientContext;
import freenet.support.Executor;
import freenet.support.Logger;
import freenet.support.api.Bucket;
@@ -218,4 +219,13 @@
}
return false;
}
+
+ /**
+ * @param container
+ * @param context
+ * @return True unless we were unable to remove the job because it has
already started.
+ */
+ public boolean cancel(ObjectContainer container, ClientContext context)
{
+ return queue.cancel(this, container, context);
+ }
}
\ No newline at end of file
Modified: branches/db4o/freenet/src/freenet/client/FECQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FECQueue.java 2009-03-06
22:36:39 UTC (rev 25914)
+++ branches/db4o/freenet/src/freenet/client/FECQueue.java 2009-03-06
22:37:26 UTC (rev 25915)
@@ -415,4 +415,25 @@
public void objectOnDeactivate(ObjectContainer container) {
Logger.error(this, "Attempting to deactivate FECQueue!", new
Exception("debug"));
}
+
+ /**
+ * @param job
+ * @param container
+ * @param context
+ * @return True unless we were unable to remove the job because it has
already started.
+ */
+ public boolean cancel(FECJob job, ObjectContainer container,
ClientContext context) {
+ synchronized(this) {
+ for(int i=0;i<priorities;i++) {
+ transientQueue[i].remove(job);
+ persistentQueueCache[i].remove(job);
+ }
+ }
+ synchronized(job) {
+ if(job.running) return false;
+ }
+ if(job.persistent)
+ container.delete(job);
+ return true;
+ }
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs