Author: toad
Date: 2009-04-20 20:05:27 +0000 (Mon, 20 Apr 2009)
New Revision: 27110
Modified:
trunk/freenet/src/freenet/client/async/USKFetcher.java
Log:
Don't assume we've checked slot 0.
Update checkedDatastoreUpTo in preRegister.
Logging, comments.
Modified: trunk/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcher.java 2009-04-20
20:04:22 UTC (rev 27109)
+++ trunk/freenet/src/freenet/client/async/USKFetcher.java 2009-04-20
20:05:27 UTC (rev 27110)
@@ -125,7 +125,7 @@
/** A list of keys which we are interested in. This a sequence of SSKs
starting
* at the last known slot. */
private final ArrayList<ClientSSK> keysWatching;
- private long checkedDatastoreUpTo;
+ private long checkedDatastoreUpTo = -1;
private final ArrayList<USKAttempt> attemptsToStart;
private static final int WATCH_KEYS = 50;
@@ -735,6 +735,7 @@
if(runningStoreChecker) return;
long firstCheck = Math.max(firstKeyWatching,
checkedDatastoreUpTo + 1);
final long lastCheck = firstKeyWatching + keysWatching.size() -
1;
+ if(logMINOR) Logger.minor(this, "firstCheck="+firstCheck+"
lastCheck="+lastCheck);
if(lastCheck < firstCheck) return;
int checkCount = (int) (lastCheck - firstCheck + 1);
int offset = (int) (firstCheck - firstKeyWatching);
@@ -814,6 +815,7 @@
attempts = attemptsToStart.toArray(new
USKAttempt[attemptsToStart.size()]);
attemptsToStart.clear();
done = true;
+ checkedDatastoreUpTo = lastCheck;
}
if(logMINOR) Logger.minor(this, "Checked
datastore, finishing registration for "+attempts.length+" checkers for
"+USKFetcher.this+" for "+origUSK);
for(int i=0;i<attempts.length;i++) {
@@ -831,6 +833,7 @@
}
}
long lastEd =
uskManager.lookupLatestSlot(origUSK);
+ // Do not check beyond WATCH_KEYS after the
current slot.
fillKeysWatching(lastEd, context);
}
@@ -851,9 +854,6 @@
@Override
public RequestClient getClient(ObjectContainer
container) {
- synchronized(USKFetcher.this) {
- checkedDatastoreUpTo = lastCheck;
- }
return USKFetcher.this.uskManager;
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs