Author: toad
Date: 2008-04-29 18:50:41 +0000 (Tue, 29 Apr 2008)
New Revision: 19617
Modified:
trunk/freenet/src/freenet/client/async/USKFetcher.java
Log:
Randomise the sleep time for obfuscation.
Modified: trunk/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcher.java 2008-04-29
18:48:19 UTC (rev 19616)
+++ trunk/freenet/src/freenet/client/async/USKFetcher.java 2008-04-29
18:50:41 UTC (rev 19617)
@@ -184,9 +184,9 @@
long minFailures;
final long origMinFailures;
- static final long origSleepTime = 30 * 60 * 1000;
- static final long maxSleepTime = 24 * 60 * 60 * 1000;
- long sleepTime = origSleepTime;
+ static final int origSleepTime = 30 * 60 * 1000;
+ static final int maxSleepTime = 24 * 60 * 60 * 1000;
+ int sleepTime = origSleepTime;
/** Maximum number of editions to probe ahead. */
private final long maxMinFailures;
@@ -259,10 +259,10 @@
started = false; // don't finish before have
rescheduled
//Find out when we should check next ('end'), in an increasing
delay (unless we make progress).
- long newSleepTime = sleepTime * 2;
+ int newSleepTime = sleepTime * 2;
if(newSleepTime > maxSleepTime) newSleepTime =
maxSleepTime;
sleepTime = newSleepTime;
- end = now + sleepTime;
+ end = now + ctx.random.nextInt(sleepTime);
if(valAtEnd > valueAtSchedule) {
// We have advanced; keep trying as if
we just started.