Author: toad
Date: 2006-06-07 23:25:17 +0000 (Wed, 07 Jun 2006)
New Revision: 9076
Modified:
trunk/freenet/.externalToolBuilders/New_Builder.launch
trunk/freenet/.project
trunk/freenet/src/freenet/client/async/USKFetcher.java
trunk/freenet/src/freenet/node/Version.java
Log:
786: Increase the USK fetch window for background fetchers more slowly (max of
+25% or +1).
We are more likely to find a new edition close to the old one...
Modified: trunk/freenet/.externalToolBuilders/New_Builder.launch
===================================================================
--- trunk/freenet/.externalToolBuilders/New_Builder.launch 2006-06-07
23:14:08 UTC (rev 9075)
+++ trunk/freenet/.externalToolBuilders/New_Builder.launch 2006-06-07
23:25:17 UTC (rev 9076)
@@ -3,7 +3,8 @@
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND"
value="false"/>
<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH"
value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS"
value="full,incremental,"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS"
value="clean,"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS"
value="full,incremental,clean"/>
<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION"
value="${workspace_loc:/Freenet 0.7/build.xml}"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED"
value="true"/>
Modified: trunk/freenet/.project
===================================================================
--- trunk/freenet/.project 2006-06-07 23:14:08 UTC (rev 9075)
+++ trunk/freenet/.project 2006-06-07 23:25:17 UTC (rev 9076)
@@ -12,7 +12,7 @@
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
+ <triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
Modified: trunk/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcher.java 2006-06-07
23:14:08 UTC (rev 9075)
+++ trunk/freenet/src/freenet/client/async/USKFetcher.java 2006-06-07
23:25:17 UTC (rev 9076)
@@ -172,8 +172,9 @@
final long maxSleepTime = 60 * 60 * 1000;
long sleepTime = origSleepTime;
- // At most, probe 1000 editions ahead!
- private static final long MAX_MIN_FAILURES = 1000;
+ /** Maximum number of editions to probe ahead. */
+ private final long maxMinFailures;
+ private final static long DEFAULT_MAX_MIN_FAILURES = 100;
private long valueAtSchedule;
@@ -181,9 +182,15 @@
private final boolean backgroundPoll;
private boolean started = false;
+
+ USKFetcher(USK origUSK, USKManager manager, FetcherContext ctx,
ClientRequester parent, int minFailures, boolean pollForever) {
+ this(origUSK, manager, ctx, parent, minFailures, pollForever,
DEFAULT_MAX_MIN_FAILURES);
+ }
- USKFetcher(USK origUSK, USKManager manager, FetcherContext ctx,
ClientRequester parent, int minFailures, boolean pollForever) {
+ // FIXME use this!
+ USKFetcher(USK origUSK, USKManager manager, FetcherContext ctx,
ClientRequester parent, int minFailures, boolean pollForever, long
maxProbeEditions) {
this.parent = parent;
+ this.maxMinFailures = maxProbeEditions;
this.origUSK = origUSK;
this.uskManager = manager;
this.minFailures = this.origMinFailures = minFailures;
@@ -227,9 +234,10 @@
minFailures = origMinFailures;
sleepTime = origSleepTime;
} else {
- long newMinFailures = minFailures * 2;
- if(newMinFailures > MAX_MIN_FAILURES)
- newMinFailures =
MAX_MIN_FAILURES;
+ // Not exponential; it is more likely
that it is close to the known edition than not.
+ long newMinFailures =
Math.max(((int)((double)minFailures * 1.25)), minFailures+1);
+ if(newMinFailures > maxMinFailures)
+ newMinFailures = maxMinFailures;
minFailures = newMinFailures;
}
long newSleepTime = sleepTime * 2;
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-07 23:14:08 UTC (rev
9075)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-07 23:25:17 UTC (rev
9076)
@@ -18,7 +18,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 785;
+ private static final int buildNumber = 786;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 765;