Author: toad
Date: 2008-06-27 21:28:23 +0000 (Fri, 27 Jun 2008)
New Revision: 20832
Modified:
branches/db4o/freenet/src/freenet/client/FECJob.java
branches/db4o/freenet/src/freenet/client/FECQueue.java
Log:
FEC activation
Modified: branches/db4o/freenet/src/freenet/client/FECJob.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FECJob.java 2008-06-27
21:27:34 UTC (rev 20831)
+++ branches/db4o/freenet/src/freenet/client/FECJob.java 2008-06-27
21:28:23 UTC (rev 20832)
@@ -3,6 +3,8 @@
*/
package freenet.client;
+import com.db4o.ObjectContainer;
+
import freenet.support.api.Bucket;
import freenet.support.api.BucketFactory;
@@ -67,4 +69,12 @@
this.isADecodingJob = isADecodingJob;
this.persistent = persistent;
}
+
+ public void activateForExecution(ObjectContainer container) {
+ container.activate(this, 2);
+ if(dataBlockStatus != null)
+ container.activate(dataBlockStatus, 2);
+ if(checkBlockStatus != null)
+ container.activate(checkBlockStatus, 2);
+ }
}
\ No newline at end of file
Modified: branches/db4o/freenet/src/freenet/client/FECQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FECQueue.java 2008-06-27
21:27:34 UTC (rev 20831)
+++ branches/db4o/freenet/src/freenet/client/FECQueue.java 2008-06-27
21:28:23 UTC (rev 20832)
@@ -93,6 +93,7 @@
Logger.minor(StandardOnionFECCodec.class, "Adding a new
job to the queue: "+job+".");
int maxThreads = getMaxRunningFECThreads();
if(job.persistent) {
+ job.activateForExecution(container);
container.set(job);
}
synchronized(this) {
@@ -239,7 +240,7 @@
if(results.hasNext()) {
for(int j=0;j<grab &&
results.hasNext();j++) {
FECJob job = (FECJob)
results.next();
- container.activate(job,
2);
+
job.activateForExecution(container);
if(logMINOR)
Logger.minor(this, "Maybe adding "+job);
synchronized(FECQueue.this) {
if(persistentQueueCache[prio].contains(job)) {