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.


Reply via email to