Author: toad
Date: 2008-06-06 19:23:38 +0000 (Fri, 06 Jun 2008)
New Revision: 20244

Modified:
   
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
   branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
Log:
Restart InsertCompressor's from the database on startup.

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-06-06 17:28:13 UTC (rev 20243)
+++ 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-06-06 19:23:38 UTC (rev 20244)
@@ -114,6 +114,7 @@
                else
                        keysFetching = null;
                this.sched = sched;
+               InsertCompressor.load(container, sched.clientContext);
        }

        void start() {

Modified: branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java        
2008-06-06 17:28:13 UTC (rev 20243)
+++ branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java        
2008-06-06 19:23:38 UTC (rev 20244)
@@ -3,6 +3,8 @@
 import java.io.IOException;

 import com.db4o.ObjectContainer;
+import com.db4o.ObjectSet;
+import com.db4o.query.Predicate;

 import freenet.client.InsertException;
 import freenet.support.api.Bucket;
@@ -154,7 +156,21 @@
                return compressor;
        }

+       public static void load(ObjectContainer container, ClientContext 
context) {
+               final long handle = context.nodeDBHandle;
+               ObjectSet results = container.query(new Predicate() {
+                       public boolean match(InsertCompressor comp) {
+                               if(comp.nodeDBHandle == handle) return true;
+                               return false;
+                       }
+               });
+               while(results.hasNext()) {
+                       InsertCompressor comp = (InsertCompressor) 
results.next();
+                       comp.init(context);
+               }
+       }

+       
 }

 class CompressionOutput {


Reply via email to