Author: toad
Date: 2006-10-05 21:08:18 +0000 (Thu, 05 Oct 2006)
New Revision: 10625
Modified:
trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
trunk/freenet/src/freenet/client/async/USKInserter.java
trunk/freenet/src/freenet/client/async/USKManager.java
trunk/freenet/src/freenet/clients/http/BookmarkManager.java
trunk/freenet/src/freenet/node/fcp/ClientGet.java
trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
trunk/freenet/src/freenet/node/fcp/SubscribeUSK.java
trunk/freenet/src/freenet/node/updater/NodeUpdater.java
Log:
Pass in client when subscribing to USKs.
=> When subscribing from an insert, we use the insert's client; the bookmark
manager is the client for bookmark polling; etc.
- Minimizes the number of clients.
Modified: trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
2006-10-05 21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
2006-10-05 21:08:18 UTC (rev 10625)
@@ -13,10 +13,10 @@
*/
public class USKFetcherWrapper extends BaseClientGetter {
- USK usk;
+ final USK usk;
- public USKFetcherWrapper(USK usk, short prio, ClientRequestScheduler
chkScheduler, ClientRequestScheduler sskScheduler) {
- super(prio, chkScheduler, sskScheduler, usk);
+ public USKFetcherWrapper(USK usk, short prio, ClientRequestScheduler
chkScheduler, ClientRequestScheduler sskScheduler, Object client) {
+ super(prio, chkScheduler, sskScheduler, client);
this.usk = usk;
}
@@ -48,4 +48,7 @@
// Ignore
}
+ public String toString() {
+ return super.toString()+":"+usk;
+ }
}
Modified: trunk/freenet/src/freenet/client/async/USKInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKInserter.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/client/async/USKInserter.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -73,8 +73,7 @@
if(Logger.shouldLog(Logger.MINOR, this))
Logger.minor(this, "scheduling fetcher for
"+pubUSK.getURI());
if(finished) return;
- fetcher =
ctx.uskManager.getFetcherForInsertDontSchedule(pubUSK, parent.priorityClass,
this);
-
+ fetcher =
ctx.uskManager.getFetcherForInsertDontSchedule(pubUSK, parent.priorityClass,
this, parent.getClient());
fetcher.schedule();
}
Modified: trunk/freenet/src/freenet/client/async/USKManager.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKManager.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/client/async/USKManager.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -94,9 +94,9 @@
return f;
}
- public USKFetcher getFetcherForInsertDontSchedule(USK usk, short
prioClass, USKFetcherCallback cb) {
+ public USKFetcher getFetcherForInsertDontSchedule(USK usk, short
prioClass, USKFetcherCallback cb, Object client) {
USKFetcher f = new USKFetcher(usk, this,
backgroundFetchContext,
- new USKFetcherWrapper(usk, prioClass,
chkRequestScheduler, sskRequestScheduler), 3, false, true, null);
+ new USKFetcherWrapper(usk, prioClass,
chkRequestScheduler, sskRequestScheduler, client), 3, false, true, null);
f.addCallback(cb);
return f;
}
@@ -107,7 +107,7 @@
synchronized(this) {
USKFetcher f = (USKFetcher)
backgroundFetchersByClearUSK.get(clear);
if(f == null) {
- f = new USKFetcher(usk, this,
backgroundFetchContext, new USKFetcherWrapper(usk,
RequestStarter.UPDATE_PRIORITY_CLASS, chkRequestScheduler,
sskRequestScheduler), 10, true, false, null);
+ f = new USKFetcher(usk, this,
backgroundFetchContext, new USKFetcherWrapper(usk,
RequestStarter.UPDATE_PRIORITY_CLASS, chkRequestScheduler, sskRequestScheduler,
this), 10, true, false, null);
sched = f;
backgroundFetchersByClearUSK.put(clear, f);
}
@@ -161,7 +161,7 @@
* updated. Note that this does not imply that the USK will be
* checked on a regular basis, unless runBackgroundFetch=true.
*/
- public void subscribe(USK origUSK, USKCallback cb, boolean
runBackgroundFetch) {
+ public void subscribe(USK origUSK, USKCallback cb, boolean
runBackgroundFetch, Object client) {
USKFetcher sched = null;
long ed = origUSK.suggestedEdition;
long curEd;
@@ -181,7 +181,7 @@
if(runBackgroundFetch) {
USKFetcher f = (USKFetcher)
backgroundFetchersByClearUSK.get(clear);
if(f == null) {
- f = new USKFetcher(origUSK, this,
backgroundFetchContext, new USKFetcherWrapper(origUSK,
RequestStarter.UPDATE_PRIORITY_CLASS, chkRequestScheduler,
sskRequestScheduler), 10, true, false, null);
+ f = new USKFetcher(origUSK, this,
backgroundFetchContext, new USKFetcherWrapper(origUSK,
RequestStarter.UPDATE_PRIORITY_CLASS, chkRequestScheduler, sskRequestScheduler,
client), 10, true, false, null);
sched = f;
backgroundFetchersByClearUSK.put(clear,
f);
}
@@ -236,7 +236,7 @@
*/
public USKRetriever subscribeContent(USK origUSK, USKRetrieverCallback
cb, boolean runBackgroundFetch, FetcherContext fctx, short prio, Object client)
{
USKRetriever ret = new USKRetriever(fctx, prio,
chkRequestScheduler, sskRequestScheduler, client, cb);
- subscribe(origUSK, ret, runBackgroundFetch);
+ subscribe(origUSK, ret, runBackgroundFetch, client);
return ret;
}
Modified: trunk/freenet/src/freenet/clients/http/BookmarkManager.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -140,7 +140,7 @@
if (b.getKeyType().equals("USK")) {
try {
USK u = USK.create(b.key);
- this.node.uskManager.subscribe(u, this.uskcb,
true);
+ this.node.uskManager.subscribe(u, this.uskcb,
true, this);
} catch (MalformedURLException mue) {
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-10-05 21:07:10 UTC
(rev 10624)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-10-05 21:08:18 UTC
(rev 10625)
@@ -117,7 +117,7 @@
ret.free();
throw e;
}
- getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client, returnBucket);
+ getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client.lowLevelClient, returnBucket);
if(persistenceType != PERSIST_CONNECTION) {
FCPMessage msg = persistentTagMessage();
client.queueClientRequestMessage(msg, 0);
@@ -174,7 +174,7 @@
ret.free();
throw e;
}
- getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client, returnBucket);
+ getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client.lowLevelClient, returnBucket);
if(persistenceType != PERSIST_CONNECTION) {
FCPMessage msg = persistentTagMessage();
client.queueClientRequestMessage(msg, 0);
@@ -255,7 +255,7 @@
}
returnBucket = ret;
- getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client, returnBucket);
+ getter = new ClientGetter(this,
client.core.requestStarters.chkFetchScheduler,
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass,
client.lowLevelClient, returnBucket);
if(persistenceType != PERSIST_CONNECTION) {
FCPMessage msg = persistentTagMessage();
client.queueClientRequestMessage(msg, 0);
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -62,7 +62,7 @@
SimpleManifestPutter p;
try {
p = new SimpleManifestPutter(this,
client.core.requestStarters.chkPutScheduler,
client.core.requestStarters.sskPutScheduler,
- manifestElements, priorityClass, uri,
defaultName, ctx, getCHKOnly, client, earlyEncode);
+ manifestElements, priorityClass, uri,
defaultName, ctx, getCHKOnly, client.lowLevelClient, earlyEncode);
} catch (InserterException e) {
onFailure(e, null);
p = null;
Modified: trunk/freenet/src/freenet/node/fcp/SubscribeUSK.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribeUSK.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/node/fcp/SubscribeUSK.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -19,7 +19,7 @@
this.dontPoll = message.dontPoll;
this.identifier = message.identifier;
this.core = core;
- core.uskManager.subscribe(message.key, this, !message.dontPoll);
+ core.uskManager.subscribe(message.key, this, !message.dontPoll,
handler.getClient().lowLevelClient);
}
public void onFoundEdition(long l, USK key) {
Modified: trunk/freenet/src/freenet/node/updater/NodeUpdater.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/NodeUpdater.java 2006-10-05
21:07:10 UTC (rev 10624)
+++ trunk/freenet/src/freenet/node/updater/NodeUpdater.java 2006-10-05
21:08:18 UTC (rev 10625)
@@ -113,7 +113,7 @@
try{
// start at next version, not interested in this version
USK
myUsk=USK.create(URI.setSuggestedEdition(currentVersion+1));
- ctx.uskManager.subscribe(myUsk, this, true);
+ ctx.uskManager.subscribe(myUsk, this, true, this);
}catch(MalformedURLException e){
Logger.error(this,"The auto-update URI isn't valid and
can't be used");
blow("The auto-update URI isn't valid and can't be
used");