Author: toad
Date: 2008-12-23 15:12:45 +0000 (Tue, 23 Dec 2008)
New Revision: 24768
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
Log:
RegisterMeRunner is only needed for inserts.
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2008-12-23 14:35:52 UTC (rev 24767)
+++
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2008-12-23 15:12:45 UTC (rev 24768)
@@ -118,6 +118,7 @@
keysFetching = new HashSet();
else
keysFetching = null;
+ if(isInsertScheduler) {
preRegisterMeRunner = new DBJob() {
public void run(ObjectContainer container,
ClientContext context) {
@@ -150,7 +151,7 @@
for(int
i=RequestStarter.MAXIMUM_PRIORITY_CLASS;i<=RequestStarter.MINIMUM_PRIORITY_CLASS;i++)
{
Query query = container.query();
query.constrain(RegisterMe.class);
- query.descend("priority").constrain(i);
+
query.descend("core").constrain(ClientRequestSchedulerCore.this).and(query.descend("priority").constrain(i));
results = query.execute();
if(results.hasNext()) {
break;
@@ -200,6 +201,7 @@
};
registerMeRunner = new RegisterMeRunner();
+ }
loadKeyListeners(container, context);
}
@@ -229,7 +231,8 @@
}
private final void startRegisterMeRunner(DBJobRunner runner) {
- runner.queue(preRegisterMeRunner, NativeThread.NORM_PRIORITY,
true);
+ if(isInsertScheduler)
+ runner.queue(preRegisterMeRunner,
NativeThread.NORM_PRIORITY, true);
}
// We pass in the schedTransient to the next two methods so that we can
select between either of them.
@@ -653,9 +656,7 @@
context.jobRunner.queue(registerMeRunner,
(NativeThread.NORM_PRIORITY-1) + (boost ? 1 : 0), true);
else {
if(logMINOR) Logger.minor(this,
"RegisterMeRunner finished");
- boolean rerun;
synchronized(ClientRequestSchedulerCore.this) {
- rerun = shouldReRunRegisterMeRunner;
shouldReRunRegisterMeRunner = false;
registerMeSet = null;
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs