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");


Reply via email to