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();
                        }


Reply via email to