Author: toad
Date: 2008-07-18 21:24:20 +0000 (Fri, 18 Jul 2008)
New Revision: 21225
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Activation/deactivation.
Call internalError() when finishRegister() on an insert scheduler, even if not
persistent.
Logging.
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-07-18 21:22:34 UTC (rev 21224)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-07-18 21:24:20 UTC (rev 21225)
@@ -356,9 +356,13 @@
private void finishRegister(final SendableGet[] getters, boolean
persistent, boolean onDatabaseThread, final boolean anyValid, final RegisterMe
reg) {
if(isInsertScheduler && getters != null) {
IllegalStateException e = new
IllegalStateException("finishRegister on an insert scheduler");
- if(onDatabaseThread) {
+ if(onDatabaseThread || !persistent) {
for(int i=0;i<getters.length;i++) {
+ if(persistent)
+
selectorContainer.activate(getters[i], 1);
getters[i].internalError(null, e, this,
selectorContainer, clientContext, persistent);
+ if(persistent)
+
selectorContainer.deactivate(getters[i], 1);
}
}
throw e;
@@ -379,6 +383,8 @@
if(tryDirect) {
for(int
i=0;i<getters.length;i++) {
SendableGet getter =
getters[i];
+ if(persistent)
+
selectorContainer.activate(getter, 1);
while(true) {
PersistentChosenRequest cr = (PersistentChosenRequest)
schedCore.maybeMakeChosenRequest(getter, selectorContainer, clientContext);
if(cr == null) {
@@ -398,6 +404,8 @@
}
}
}
+ if(persistent)
+
selectorContainer.deactivate(getter, 1);
}
}
}
@@ -754,14 +762,14 @@
// decode, and if so to find the key to decode
with.
for(int i=0;i<gets.length;i++) {
try {
- if(logMINOR) Logger.minor(this,
"Calling callback for "+gets[i]+" for "+key);
+ if(logMINOR) Logger.minor(this,
"Calling tripPendingKey() callback for "+gets[i]+" for "+key);
container.activate(gets[i], 1);
gets[i].onGotKey(key, block,
container, context);
} catch (Throwable t) {
- Logger.error(this, "Caught
"+t+" running callback "+gets[i]+" for "+key, t);
+ Logger.error(this, "Caught
"+t+" running tripPendingKey() callback "+gets[i]+" for "+key, t);
}
}
- if(logMINOR) Logger.minor(this, "Finished
running callbacks");
+ if(logMINOR) Logger.minor(this, "Finished
running tripPendingKey() callbacks");
}
}, TRIP_PENDING_PRIORITY, false);