Author: toad
Date: 2009-04-20 22:31:47 +0000 (Mon, 20 Apr 2009)
New Revision: 27125
Modified:
trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
trunk/freenet/src/freenet/client/async/OfferedKeysList.java
trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
trunk/freenet/src/freenet/client/async/USKFetcher.java
trunk/freenet/src/freenet/node/BaseSendableGet.java
Log:
Add boolean toNetwork to preRegister callback
Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2009-04-20 22:21:48 UTC (rev 27124)
+++ trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2009-04-20 22:31:47 UTC (rev 27125)
@@ -353,7 +353,7 @@
}
@Override
- public void preRegister(ObjectContainer container, ClientContext
context) {
+ public void preRegister(ObjectContainer container, ClientContext
context, boolean toNetwork) {
// Ignore
}
Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-04-20 22:21:48 UTC (rev 27124)
+++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-04-20 22:31:47 UTC (rev 27125)
@@ -396,11 +396,13 @@
for(int i=0;i<getters.length;i++) {
SendableGet getter = getters[i];
container.activate(getter, 1);
- getter.preRegister(container,
clientContext);
if(!(getter.isCancelled(container) || getter.isEmpty(container))) {
wereAnyValid = true;
+
getter.preRegister(container, clientContext, true);
schedCore.innerRegister(getter, random, container, getters);
- }
+ } else
+
getter.preRegister(container, clientContext, false);
+
}
if(!wereAnyValid) {
Logger.normal(this, "No
requests valid: "+getters);
@@ -423,11 +425,12 @@
if(container.ext().isActive(getter))
Logger.error(this, "ALREADY ACTIVE in delayed finishRegister: "+getter);
container.activate(getter, 1);
-
getter.preRegister(container, clientContext);
if(!(getter.isCancelled(container) || getter.isEmpty(container))) {
wereAnyValid =
true;
+
getter.preRegister(container, clientContext, true);
schedCore.innerRegister(getter, random, container, getters);
- }
+ } else
+
getter.preRegister(container, clientContext, false);
container.deactivate(getter, 1);
}
if(!wereAnyValid) {
@@ -444,9 +447,12 @@
} else {
// Register immediately.
for(int i=0;i<getters.length;i++) {
- getters[i].preRegister(container,
clientContext);
- if(!anyValid) continue; // Call preRegister
anyway, some getters may be waiting for it
- if(getters[i].isCancelled(null) ||
getters[i].isEmpty(null)) continue;
+
+ if((!anyValid) || getters[i].isCancelled(null)
|| getters[i].isEmpty(null)) {
+ getters[i].preRegister(container,
clientContext, false);
+ continue;
+ } else
+ getters[i].preRegister(container,
clientContext, true);
schedTransient.innerRegister(getters[i],
random, null, getters);
}
starter.wakeUp();
Modified: trunk/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2009-04-20
22:21:48 UTC (rev 27124)
+++ trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2009-04-20
22:31:47 UTC (rev 27125)
@@ -246,7 +246,7 @@
}
@Override
- public void preRegister(ObjectContainer container, ClientContext
context) {
+ public void preRegister(ObjectContainer container, ClientContext
context, boolean toNetwork) {
// Ignore
}
Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2009-04-20 22:21:48 UTC (rev 27124)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2009-04-20 22:31:47 UTC (rev 27125)
@@ -865,7 +865,7 @@
}
@Override
- public void preRegister(ObjectContainer container, ClientContext
context) {
+ public void preRegister(ObjectContainer container, ClientContext
context, boolean toNetwork) {
// Ignore
}
Modified: trunk/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcher.java 2009-04-20
22:21:48 UTC (rev 27124)
+++ trunk/freenet/src/freenet/client/async/USKFetcher.java 2009-04-20
22:31:47 UTC (rev 27125)
@@ -806,7 +806,7 @@
}
@Override
- public void preRegister(ObjectContainer container,
ClientContext context) {
+ public void preRegister(ObjectContainer container,
ClientContext context, boolean toNetwork) {
unregister(container, context);
USKAttempt[] attempts;
synchronized(USKFetcher.this) {
Modified: trunk/freenet/src/freenet/node/BaseSendableGet.java
===================================================================
--- trunk/freenet/src/freenet/node/BaseSendableGet.java 2009-04-20 22:21:48 UTC
(rev 27124)
+++ trunk/freenet/src/freenet/node/BaseSendableGet.java 2009-04-20 22:31:47 UTC
(rev 27125)
@@ -17,6 +17,8 @@
public abstract boolean hasValidKeys(KeysFetchingLocally fetching,
ObjectContainer container, ClientContext context);
/** Called after checking the datastore and before registering the
request to be
- * sent. Some gets may want to cancel here, some may want to send an
event to FCP. */
- public abstract void preRegister(ObjectContainer container,
ClientContext context);
+ * sent. Some gets may want to cancel here, some may want to send an
event to FCP.
+ * @param toNetwork If true, we are actually going to send requests
(unless we
+ * cancel in this callback). If false, we completed all the work
assigned. */
+ public abstract void preRegister(ObjectContainer container,
ClientContext context, boolean toNetwork);
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs