Author: toad
Date: 2007-11-29 00:09:21 +0000 (Thu, 29 Nov 2007)
New Revision: 16050
Modified:
trunk/freenet/src/freenet/node/RequestStarter.java
Log:
Wait before sending
Modified: trunk/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarter.java 2007-11-29 00:05:48 UTC
(rev 16049)
+++ trunk/freenet/src/freenet/node/RequestStarter.java 2007-11-29 00:09:21 UTC
(rev 16050)
@@ -82,13 +82,12 @@
void realRun() {
SendableRequest req = null;
+ sentRequestTime = System.currentTimeMillis();
while(true) {
boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
if(req == null) req = sched.removeFirst();
if(req != null) {
if(logMINOR) Logger.minor(this, "Running "+req);
- startRequest(req, logMINOR);
- sentRequestTime = System.currentTimeMillis();
// Wait
long delay = throttle.getDelay();
if(logMINOR) Logger.minor(this,
"Delay="+delay+" from "+throttle);
@@ -114,14 +113,17 @@
// Nested locks here prevent extra latency when
there is a race, and therefore allow us to sleep indefinitely
synchronized(this) {
req = sched.removeFirst();
- if(req != null) continue;
- try {
- wait(100*1000); // as close to
indefinite as I'm comfortable with! Toad
- } catch (InterruptedException e) {
- // Ignore
+ if(req == null) {
+ try {
+ wait(100*1000); // as
close to indefinite as I'm comfortable with! Toad
+ } catch (InterruptedException
e) {
+ // Ignore
+ }
}
}
}
+ startRequest(req, logMINOR);
+ sentRequestTime = System.currentTimeMillis();
}
}