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 {