Author: toad
Date: 2008-06-13 12:54:08 +0000 (Fri, 13 Jun 2008)
New Revision: 20304
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
Log:
registerMeRunner is a DBJob not a Runnable, run it on the dbJobRunner, also
solves the where to get the ClientContext from compile failure
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-06-13 12:50:56 UTC (rev 20303)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-06-13 12:54:08 UTC (rev 20304)
@@ -113,7 +113,7 @@
schedCore = ClientRequestSchedulerCore.create(node, forInserts,
forSSKs, selectorContainer, COOLDOWN_PERIOD, core.clientDatabaseExecutor, this);
schedTransient = new ClientRequestSchedulerNonPersistent(this);
schedCore.fillStarterQueue();
- schedCore.start();
+ schedCore.start(core);
persistentCooldownQueue = schedCore.persistentCooldownQueue;
this.databaseExecutor = core.clientDatabaseExecutor;
this.datastoreCheckerExecutor = core.datastoreCheckerExecutor;
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2008-06-13 12:50:56 UTC (rev 20303)
+++
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2008-06-13 12:54:08 UTC (rev 20304)
@@ -117,8 +117,8 @@
InsertCompressor.load(container, sched.clientContext);
}
- void start() {
- databaseExecutor.execute(registerMeRunner,
NativeThread.NORM_PRIORITY, "Register request");
+ void start(DBJobRunner runner) {
+ runner.queue(registerMeRunner, NativeThread.NORM_PRIORITY,
true);
}
void fillStarterQueue() {
@@ -417,9 +417,9 @@
private final RegisterMeRunner registerMeRunner = new
RegisterMeRunner();
- class RegisterMeRunner implements Runnable {
+ class RegisterMeRunner implements DBJob {
- public void run() {
+ public void run(ObjectContainer container, ClientContext
context) {
Query query = container.query();
query.constrain(RegisterMe.class);
query.descend("core").constrain(ClientRequestSchedulerCore.this);
@@ -435,7 +435,7 @@
} catch (Throwable t) {
Logger.error(this, "Caught "+t+"
running RegisterMeRunner", t);
// Cancel the request, and commit so it
isn't tried again.
- reg.getter.internalError(null, t,
sched, container);
+ reg.getter.internalError(null, t,
sched, container, context);
}
container.commit();
}