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)) {


Reply via email to