Author: toad
Date: 2008-05-20 22:14:49 +0000 (Tue, 20 May 2008)
New Revision: 19985

Added:
   branches/db4o/freenet/src/freenet/node/RequestClient.java
Modified:
   branches/db4o/freenet/src/freenet/client/HighLevelSimpleClient.java
   branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
   branches/db4o/freenet/src/freenet/client/async/BaseClientGetter.java
   branches/db4o/freenet/src/freenet/client/async/BaseClientPutter.java
   branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java
   branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
   branches/db4o/freenet/src/freenet/client/async/ClientPutter.java
   branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
   branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java
   branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
   branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
   
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
   branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
   branches/db4o/freenet/src/freenet/client/async/USKManager.java
   branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
   branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java
   branches/db4o/freenet/src/freenet/clients/http/Toadlet.java
   branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
   branches/db4o/freenet/src/freenet/node/Node.java
   branches/db4o/freenet/src/freenet/node/NodeARKInserter.java
   branches/db4o/freenet/src/freenet/node/NodeClientCore.java
   branches/db4o/freenet/src/freenet/node/SendableRequest.java
   branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
   branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
   branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
   branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
   
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
   trunk/plugins/KeyExplorer/KeyExplorer.java
   trunk/plugins/KeyExplorer/VerySimpleGetter.java
   trunk/plugins/XMLSpider/XMLSpider.java
Log:
SendableRequest.getClient() must implement RequestClient interface.

Modified: branches/db4o/freenet/src/freenet/client/HighLevelSimpleClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/HighLevelSimpleClient.java 
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/HighLevelSimpleClient.java 
2008-05-20 22:14:49 UTC (rev 19985)
@@ -8,6 +8,7 @@

 import freenet.client.events.ClientEventListener;
 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;

 public interface HighLevelSimpleClient {

@@ -35,7 +36,7 @@
        /**
         * Blocking fetch of a URI with a configurable max-size and context 
object.
         */
-       public FetchResult fetch(FreenetURI uri, long maxSize, Object context) 
throws FetchException;
+       public FetchResult fetch(FreenetURI uri, long maxSize, RequestClient 
context) throws FetchException;

        /**
         * Blocking insert.

Modified: 
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-05-20 22:14:49 UTC (rev 19985)
@@ -22,6 +22,7 @@
 import freenet.keys.FreenetURI;
 import freenet.keys.InsertableClientSSK;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestScheduler;
 import freenet.node.RequestStarter;
 import freenet.support.Executor;
@@ -33,7 +34,7 @@
 import freenet.support.io.NullPersistentFileTracker;
 import freenet.support.io.PersistentFileTracker;

-public class HighLevelSimpleClientImpl implements HighLevelSimpleClient {
+public class HighLevelSimpleClientImpl implements HighLevelSimpleClient, 
RequestClient {

        private final ArchiveManager archiveManager;
        private final short priorityClass;
@@ -127,7 +128,7 @@
                return fetch(uri, overrideMaxSize, this);
        }

-       public FetchResult fetch(FreenetURI uri, long overrideMaxSize, Object 
clientContext) throws FetchException {
+       public FetchResult fetch(FreenetURI uri, long overrideMaxSize, 
RequestClient clientContext) throws FetchException {
                if(uri == null) throw new NullPointerException();
                FetchWaiter fw = new FetchWaiter();
                FetchContext context = getFetchContext(overrideMaxSize);

Modified: branches/db4o/freenet/src/freenet/client/async/BaseClientGetter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseClientGetter.java        
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/BaseClientGetter.java        
2008-05-20 22:14:49 UTC (rev 19985)
@@ -3,10 +3,12 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.client.async;

+import freenet.node.RequestClient;
+
 public abstract class BaseClientGetter extends ClientRequester implements
                GetCompletionCallback {

-       protected BaseClientGetter(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, Object client) {
+       protected BaseClientGetter(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, RequestClient client) {
                super(priorityClass, chkScheduler, sskScheduler, client);
        }


Modified: branches/db4o/freenet/src/freenet/client/async/BaseClientPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseClientPutter.java        
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/BaseClientPutter.java        
2008-05-20 22:14:49 UTC (rev 19985)
@@ -3,9 +3,11 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.client.async;

+import freenet.node.RequestClient;
+
 public abstract class BaseClientPutter extends ClientRequester {

-       protected BaseClientPutter(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, Object context) {
+       protected BaseClientPutter(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, RequestClient context) {
                super(priorityClass, chkScheduler, sskScheduler, context);
        }


Modified: 
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-05-20 22:14:49 UTC (rev 19985)
@@ -10,6 +10,7 @@
 import freenet.keys.KeyBlock;
 import freenet.keys.KeyVerifyException;
 import freenet.node.KeysFetchingLocally;
+import freenet.node.RequestClient;
 import freenet.node.RequestScheduler;
 import freenet.node.SendableGet;
 import freenet.support.Logger;
@@ -119,7 +120,7 @@
                return cancelled;
        }

-       public Object getClient() {
+       public RequestClient getClient() {
                return parent.getClient();
        }


Modified: branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-05-20 22:14:49 UTC (rev 19985)
@@ -13,6 +13,7 @@
 import freenet.keys.KeyBlock;
 import freenet.keys.SSKBlock;
 import freenet.node.LowLevelPutException;
+import freenet.node.RequestClient;
 import freenet.node.SimpleSendableInsert;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
@@ -21,7 +22,7 @@
 public class BinaryBlobInserter implements ClientPutState {

        final ClientPutter parent;
-       final Object clientContext;
+       final RequestClient clientContext;
        final MySendableInsert[] inserters;
        final FailureCodeTracker errors;
        final int maxRetries;
@@ -32,7 +33,7 @@
        private boolean fatal;
        final InsertContext ctx;

-       BinaryBlobInserter(Bucket blob, ClientPutter parent, Object 
clientContext, boolean tolerant, short prioClass, InsertContext ctx) 
+       BinaryBlobInserter(Bucket blob, ClientPutter parent, RequestClient 
clientContext, boolean tolerant, short prioClass, InsertContext ctx) 
        throws IOException, BinaryBlobFormatException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.ctx = ctx;
@@ -107,7 +108,7 @@
                private int consecutiveRNFs;
                private int retries;

-               public MySendableInsert(int i, KeyBlock block, short prioClass, 
ClientRequestScheduler scheduler, Object client) {
+               public MySendableInsert(int i, KeyBlock block, short prioClass, 
ClientRequestScheduler scheduler, RequestClient client) {
                        super(block, prioClass, client, scheduler);
                        this.blockNum = i;
                }

Modified: branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientGetter.java    
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/ClientGetter.java    
2008-05-20 22:14:49 UTC (rev 19985)
@@ -19,6 +19,7 @@
 import freenet.keys.FreenetURI;
 import freenet.keys.Key;
 import freenet.node.PrioRunnable;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.support.Logger;
 import freenet.support.api.Bucket;
@@ -61,7 +62,7 @@
         * former, obviously!
         */
        public ClientGetter(ClientCallback client, ClientRequestScheduler 
chkSched, ClientRequestScheduler sskSched,
-                           FreenetURI uri, FetchContext ctx, short 
priorityClass, Object clientContext, Bucket returnBucket, Bucket 
binaryBlobBucket) {
+                           FreenetURI uri, FetchContext ctx, short 
priorityClass, RequestClient clientContext, Bucket returnBucket, Bucket 
binaryBlobBucket) {
                super(priorityClass, chkSched, sskSched, clientContext);
                this.clientCallback = client;
                this.returnBucket = returnBucket;

Modified: branches/db4o/freenet/src/freenet/client/async/ClientPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientPutter.java    
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/ClientPutter.java    
2008-05-20 22:14:49 UTC (rev 19985)
@@ -13,6 +13,7 @@
 import freenet.client.events.SplitfileProgressEvent;
 import freenet.keys.BaseClientKey;
 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.Bucket;
@@ -53,7 +54,7 @@
         */
        public ClientPutter(ClientCallback client, Bucket data, FreenetURI 
targetURI, ClientMetadata cm, InsertContext ctx,
                        ClientRequestScheduler chkScheduler, 
ClientRequestScheduler sskScheduler, short priorityClass, boolean getCHKOnly, 
-                       boolean isMetadata, Object clientContext, 
SimpleFieldSet stored, String targetFilename, boolean binaryBlob) {
+                       boolean isMetadata, RequestClient clientContext, 
SimpleFieldSet stored, String targetFilename, boolean binaryBlob) {
                super(priorityClass, chkScheduler, sskScheduler, clientContext);
                this.cm = cm;
                this.isMetadata = isMetadata;

Modified: branches/db4o/freenet/src/freenet/client/async/ClientRequester.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequester.java 
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequester.java 
2008-05-20 22:14:49 UTC (rev 19985)
@@ -4,6 +4,7 @@
 package freenet.client.async;

 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
 import freenet.support.Logger;

 /** A high level client request. A request (either fetch or put) started
@@ -20,13 +21,13 @@
        protected boolean cancelled;
        public final ClientRequestScheduler chkScheduler;
        public final ClientRequestScheduler sskScheduler;
-       protected final Object client;
+       protected final RequestClient client;

        public short getPriorityClass() {
                return priorityClass;
        }

-       protected ClientRequester(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, Object client) {
+       protected ClientRequester(short priorityClass, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, RequestClient client) {
                this.priorityClass = priorityClass;
                this.chkScheduler = chkScheduler;
                this.sskScheduler = sskScheduler;
@@ -120,7 +121,7 @@
        public abstract void notifyClients();

        /** Get client context object */
-       public Object getClient() {
+       public RequestClient getClient() {
                return client;
        }


Modified: branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-05-20 22:14:49 UTC (rev 19985)
@@ -11,6 +11,7 @@
 import freenet.node.BaseSendableGet;
 import freenet.node.KeysFetchingLocally;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestScheduler;
 import freenet.node.NodeClientCore.SimpleRequestSenderCompletionListener;
 import freenet.support.Logger;
@@ -29,7 +30,7 @@
  * @author toad
  *
  */
-public class OfferedKeysList extends BaseSendableGet {
+public class OfferedKeysList extends BaseSendableGet implements RequestClient {

        private final HashSet keys;
        private final Vector keysList; // O(1) remove random element the way we 
use it, see chooseKey().
@@ -117,7 +118,7 @@
                return false;
        }

-       public Object getClient() {
+       public RequestClient getClient() {
                return this;
        }


Modified: branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-05-20 22:14:49 UTC (rev 19985)
@@ -11,6 +11,7 @@
 import freenet.keys.BaseClientKey;
 import freenet.keys.CHKBlock;
 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
 import freenet.support.Logger;
 import freenet.support.api.Bucket;

@@ -22,7 +23,7 @@
        final HashMap runningInserters;

        public SimpleHealingQueue(ClientRequestScheduler scheduler, 
InsertContext context, short prio, int maxRunning) {
-               super(prio, scheduler, null, context);
+               super(prio, scheduler, null, new RequestClient() { });
                this.ctx = context;
                this.runningInserters = new HashMap();
                this.maxRunning = maxRunning;

Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-05-20 22:14:49 UTC (rev 19985)
@@ -22,6 +22,7 @@
 import freenet.client.events.SplitfileProgressEvent;
 import freenet.keys.BaseClientKey;
 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
 import freenet.support.Logger;
 import freenet.support.api.Bucket;
 import freenet.support.io.BucketTools;
@@ -210,7 +211,7 @@

        public SimpleManifestPutter(ClientCallback cb, ClientRequestScheduler 
chkSched,
                        ClientRequestScheduler sskSched, HashMap 
manifestElements, short prioClass, FreenetURI target, 
-                       String defaultName, InsertContext ctx, boolean 
getCHKOnly, Object clientContext, boolean earlyEncode) throws InsertException {
+                       String defaultName, InsertContext ctx, boolean 
getCHKOnly, RequestClient clientContext, boolean earlyEncode) throws 
InsertException {
                super(prioClass, chkSched, sskSched, clientContext);
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.defaultName = defaultName;

Modified: 
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-05-20 22:14:49 UTC (rev 19985)
@@ -19,6 +19,7 @@
 import freenet.node.KeysFetchingLocally;
 import freenet.node.LowLevelPutException;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestScheduler;
 import freenet.node.SendableInsert;
 import freenet.support.Logger;
@@ -318,7 +319,7 @@
                return true;
        }

-       public Object getClient() {
+       public RequestClient getClient() {
                return parent.getClient();
        }


Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-05-20 22:07:32 UTC (rev 19984)
+++ 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-05-20 22:14:49 UTC (rev 19985)
@@ -17,6 +17,7 @@
 import freenet.keys.TooBigException;
 import freenet.node.KeysFetchingLocally;
 import freenet.node.LowLevelGetException;
+import freenet.node.RequestClient;
 import freenet.node.RequestScheduler;
 import freenet.node.SendableGet;
 import freenet.support.Logger;
@@ -281,7 +282,7 @@
                return data;
        }

-       public Object getClient() {
+       public RequestClient getClient() {
                return segment.parentFetcher.parent.getClient();
        }


Modified: branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-05-20 22:14:49 UTC (rev 19985)
@@ -7,6 +7,7 @@
 import freenet.client.FetchResult;
 import freenet.keys.FreenetURI;
 import freenet.keys.USK;
+import freenet.node.RequestClient;

 /**
  * Wrapper for a backgrounded USKFetcher.
@@ -15,7 +16,7 @@

        final USK usk;

-       public USKFetcherWrapper(USK usk, short prio, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, Object client) {
+       public USKFetcherWrapper(USK usk, short prio, ClientRequestScheduler 
chkScheduler, ClientRequestScheduler sskScheduler, RequestClient client) {
                super(prio, chkScheduler, sskScheduler, client);
                this.usk = usk;
        }

Modified: branches/db4o/freenet/src/freenet/client/async/USKManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKManager.java      
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/USKManager.java      
2008-05-20 22:14:49 UTC (rev 19985)
@@ -9,6 +9,7 @@
 import freenet.client.FetchContext;
 import freenet.keys.USK;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.node.Ticker;
 import freenet.support.LRUQueue;
@@ -18,7 +19,7 @@
  * Tracks the latest version of every known USK.
  * Also does auto-updates.
  */
-public class USKManager {
+public class USKManager implements RequestClient {

        /** Latest version by blanked-edition-number USK */
        final HashMap latestVersionByClearUSK;
@@ -86,7 +87,7 @@
                return f;
        }

-       public USKFetcher getFetcherForInsertDontSchedule(USK usk, short 
prioClass, USKFetcherCallback cb, Object client) {
+       public USKFetcher getFetcherForInsertDontSchedule(USK usk, short 
prioClass, USKFetcherCallback cb, RequestClient client) {
                USKFetcher f = new USKFetcher(usk, this, 
backgroundFetchContext, 
                                new USKFetcherWrapper(usk, prioClass, 
chkRequestScheduler, sskRequestScheduler, client), 3, false, true);
                f.addCallback(cb);
@@ -167,7 +168,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, Object client) {
+       public void subscribe(USK origUSK, USKCallback cb, boolean 
runBackgroundFetch, RequestClient client) {
                USKFetcher sched = null;
                long ed = origUSK.suggestedEdition;
                if(ed < 0) {
@@ -267,7 +268,7 @@
         * @param fctx Fetcher context for actually fetching the keys. Not used 
by the USK polling.
         * @return
         */
-       public USKRetriever subscribeContent(USK origUSK, USKRetrieverCallback 
cb, boolean runBackgroundFetch, FetchContext fctx, short prio, Object client) {
+       public USKRetriever subscribeContent(USK origUSK, USKRetrieverCallback 
cb, boolean runBackgroundFetch, FetchContext fctx, short prio, RequestClient 
client) {
                USKRetriever ret = new USKRetriever(fctx, prio, 
chkRequestScheduler, sskRequestScheduler, client, cb);
                subscribe(origUSK, ret, runBackgroundFetch, client);
                return ret;

Modified: branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKRetriever.java    
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/client/async/USKRetriever.java    
2008-05-20 22:14:49 UTC (rev 19985)
@@ -12,6 +12,7 @@
 import freenet.client.FetchContext;
 import freenet.keys.FreenetURI;
 import freenet.keys.USK;
+import freenet.node.RequestClient;
 import freenet.support.Logger;

 /**
@@ -24,7 +25,7 @@
        final USKRetrieverCallback cb;

        public USKRetriever(FetchContext fctx, short prio, 
ClientRequestScheduler chkSched, 
-                       ClientRequestScheduler sskSched, Object client, 
USKRetrieverCallback cb) {
+                       ClientRequestScheduler sskSched, RequestClient client, 
USKRetrieverCallback cb) {
                super(prio, chkSched, sskSched, client);
                this.ctx = fctx;
                this.cb = cb;

Modified: branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-05-20 22:14:49 UTC (rev 19985)
@@ -25,6 +25,7 @@
 import freenet.l10n.L10n;
 import freenet.node.Node;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.support.HTMLEncoder;
 import freenet.support.HTMLNode;
@@ -422,7 +423,7 @@
                try {
                        if(Logger.shouldLog(Logger.MINOR, this))
                                Logger.minor(this, "FProxy fetching "+key+" 
("+maxSize+ ')');
-                       FetchResult result = fetch(key, maxSize, httprequest /* 
fixme replace if HTTPRequest ever becomes comparable */); 
+                       FetchResult result = fetch(key, maxSize, new 
RequestClient() { }); 

                        // Now, is it safe?


Modified: branches/db4o/freenet/src/freenet/clients/http/Toadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/Toadlet.java 2008-05-20 
22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/clients/http/Toadlet.java 2008-05-20 
22:14:49 UTC (rev 19985)
@@ -16,6 +16,7 @@
 import freenet.client.InsertException;
 import freenet.keys.FreenetURI;
 import freenet.l10n.L10n;
+import freenet.node.RequestClient;
 import freenet.support.HTMLEncoder;
 import freenet.support.HTMLNode;
 import freenet.support.Logger;
@@ -112,7 +113,7 @@
         * for any two unrelated requests. Request selection round-robin's over 
these, within any priority and retry count class,
         * and above the level of individual block fetches.
         */
-       FetchResult fetch(FreenetURI uri, long maxSize, Object clientContext) 
throws FetchException {
+       FetchResult fetch(FreenetURI uri, long maxSize, RequestClient 
clientContext) throws FetchException {
                // For now, just run it blocking.
                return client.fetch(uri, maxSize, clientContext);
        }

Modified: 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java    
    2008-05-20 22:07:32 UTC (rev 19984)
+++ 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java    
    2008-05-20 22:14:49 UTC (rev 19985)
@@ -16,13 +16,14 @@
 import freenet.l10n.L10n;
 import freenet.node.FSParseException;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
 import freenet.support.io.Closer;
 import freenet.support.io.FileUtil;

-public class BookmarkManager {
+public class BookmarkManager implements RequestClient {

        public static final SimpleFieldSet DEFAULT_BOOKMARKS;
        private final NodeClientCore node;

Modified: branches/db4o/freenet/src/freenet/node/Node.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/Node.java    2008-05-20 22:07:32 UTC 
(rev 19984)
+++ branches/db4o/freenet/src/freenet/node/Node.java    2008-05-20 22:14:49 UTC 
(rev 19985)
@@ -127,7 +127,7 @@
 /**
  * @author amphibian
  */
-public class Node implements TimeSkewDetectorCallback, GetPubkey {
+public class Node implements TimeSkewDetectorCallback, GetPubkey, 
RequestClient {

        private static boolean logMINOR;


Modified: branches/db4o/freenet/src/freenet/node/NodeARKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-05-20 
22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-05-20 
22:14:49 UTC (rev 19985)
@@ -23,7 +23,7 @@
 import freenet.support.SimpleReadOnlyArrayBucket;
 import freenet.support.api.Bucket;

-public class NodeARKInserter implements ClientCallback {
+public class NodeARKInserter implements ClientCallback, RequestClient {

        /**
         * 

Modified: branches/db4o/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-05-20 
22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-05-20 
22:14:49 UTC (rev 19985)
@@ -67,7 +67,7 @@
 /**
  * The connection between the node and the client layer.
  */
-public class NodeClientCore implements Persistable {
+public class NodeClientCore implements Persistable, RequestClient {

        private static boolean logMINOR;
        public final USKManager uskManager;

Added: branches/db4o/freenet/src/freenet/node/RequestClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestClient.java                   
        (rev 0)
+++ branches/db4o/freenet/src/freenet/node/RequestClient.java   2008-05-20 
22:14:49 UTC (rev 19985)
@@ -0,0 +1,14 @@
+/* This code is part of Freenet. It is distributed under the GNU General
+ * Public License, version 2 (or at your option any later version). See
+ * http://www.gnu.org/ for further details of the GPL. */
+package freenet.node;
+
+/**
+ * Must be implemented by any client object returned by 
SendableRequest.getClient().
+ * Mostly this is for scheduling, but it does have one key purpose: to 
identify whether
+ * a request is persistent or not.
+ * @author toad
+ */
+public interface RequestClient {
+
+}

Modified: branches/db4o/freenet/src/freenet/node/SendableRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableRequest.java 2008-05-20 
22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/SendableRequest.java 2008-05-20 
22:14:49 UTC (rev 19985)
@@ -51,7 +51,7 @@
        public abstract boolean isCancelled();

        /** Get client context object */
-       public abstract Object getClient();
+       public abstract RequestClient getClient();

        /** Get the ClientRequest */
        public abstract ClientRequester getClientRequest();

Modified: branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-05-20 22:14:49 UTC (rev 19985)
@@ -20,7 +20,7 @@
        public final KeyBlock block;
        public final short prioClass;
        private boolean finished;
-       public final Object client;
+       public final RequestClient client;
        public final ClientRequestScheduler scheduler;

        public SimpleSendableInsert(NodeClientCore core, KeyBlock block, short 
prioClass) {
@@ -35,7 +35,7 @@
                        throw new IllegalArgumentException("Don't know what to 
do with "+block);
        }

-       public SimpleSendableInsert(KeyBlock block, short prioClass, Object 
client, ClientRequestScheduler scheduler) {
+       public SimpleSendableInsert(KeyBlock block, short prioClass, 
RequestClient client, ClientRequestScheduler scheduler) {
                this.block = block;
                this.prioClass = prioClass;
                this.client = client;
@@ -80,7 +80,7 @@
                return true;
        }

-       public Object getClient() {
+       public RequestClient getClient() {
                return client;
        }


Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-05-20 
22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-05-20 
22:14:49 UTC (rev 19985)
@@ -10,13 +10,14 @@
 import freenet.client.HighLevelSimpleClient;
 import freenet.client.InsertContext;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.support.Logger;

 /**
  * An FCP client.
  * Identified by its Name which is sent on connection.
  */
-public class FCPClient {
+public class FCPClient implements RequestClient {

        public FCPClient(String name2, FCPServer server, FCPConnectionHandler 
handler, boolean isGlobalQueue, RequestCompletionCallback cb) {
                this.name = name2;
@@ -66,7 +67,7 @@
        final LinkedList clientsWatching;
        private final LinkedList toStart;
        /** Low-level client object, for freenet.client.async. Normally == 
this. */
-       final Object lowLevelClient;
+       final RequestClient lowLevelClient;
        private RequestCompletionCallback completionCallback;

        public synchronized FCPConnectionHandler getConnection() {

Modified: branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java     
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java     
2008-05-20 22:14:49 UTC (rev 19985)
@@ -17,6 +17,7 @@
 import freenet.keys.USK;
 import freenet.node.Node;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.node.Ticker;
 import freenet.node.Version;
@@ -24,7 +25,7 @@
 import freenet.support.io.BucketTools;
 import freenet.support.io.FileBucket;

-public class NodeUpdater implements ClientCallback, USKCallback {
+public class NodeUpdater implements ClientCallback, USKCallback, RequestClient 
{
        static private boolean logMINOR;
        private FetchContext ctx;
        private FetchResult result;

Modified: branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java       
2008-05-20 22:07:32 UTC (rev 19984)
+++ branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java       
2008-05-20 22:14:49 UTC (rev 19985)
@@ -12,6 +12,7 @@
 import freenet.client.async.ClientGetter;
 import freenet.keys.FreenetURI;
 import freenet.node.NodeClientCore;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.support.Logger;
 import freenet.support.io.FileBucket;
@@ -21,7 +22,7 @@
  * Fetches the revocation key. Each time it starts, it will try to fetch it 
until it has 3 DNFs. If it ever finds it, it will
  * be immediately fed to the NodeUpdateManager.
  */
-public class RevocationChecker implements ClientCallback {
+public class RevocationChecker implements ClientCallback, RequestClient {

        public final static int REVOCATION_DNF_MIN = 3;


Modified: 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-05-20 22:07:32 UTC (rev 19984)
+++ 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-05-20 22:14:49 UTC (rev 19985)
@@ -39,6 +39,7 @@
 import freenet.node.Node;
 import freenet.node.NodeStarter;
 import freenet.node.PeerNode;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.node.Version;
 import freenet.node.useralerts.AbstractUserAlert;
@@ -56,7 +57,7 @@
  * do about them.
  * @author toad
  */
-public class UpdateOverMandatoryManager {
+public class UpdateOverMandatoryManager implements RequestClient {

        final NodeUpdateManager updateManager;


Modified: trunk/plugins/KeyExplorer/KeyExplorer.java
===================================================================
--- trunk/plugins/KeyExplorer/KeyExplorer.java  2008-05-20 22:07:32 UTC (rev 
19984)
+++ trunk/plugins/KeyExplorer/KeyExplorer.java  2008-05-20 22:14:49 UTC (rev 
19985)
@@ -14,6 +14,7 @@
 import freenet.keys.FreenetURI;
 import freenet.keys.USK;
 import freenet.node.LowLevelGetException;
+import freenet.node.RequestClient;
 import freenet.pluginmanager.FredPlugin;
 import freenet.pluginmanager.FredPluginFCP;
 import freenet.pluginmanager.FredPluginHTTP;
@@ -136,7 +137,7 @@
                        throw new MalformedURLException("Not a supported 
freenet uri: "+uri);
                }
                VerySimpleGetter vsg = new VerySimpleGetter((short) 1, 
m_pr.getNode().clientCore.requestStarters.chkFetchScheduler, m_pr
-                               
.getNode().clientCore.requestStarters.sskFetchScheduler, uri, null);
+                               
.getNode().clientCore.requestStarters.sskFetchScheduler, uri, new 
RequestClient() {});
                VerySimpleGet vs = new VerySimpleGet(ck, 3, 
m_pr.getHLSimpleClient().getFetchContext(), vsg);
                vs.schedule();
                return new GetResult(vs.waitForCompletion(), vs.isMetadata());

Modified: trunk/plugins/KeyExplorer/VerySimpleGetter.java
===================================================================
--- trunk/plugins/KeyExplorer/VerySimpleGetter.java     2008-05-20 22:07:32 UTC 
(rev 19984)
+++ trunk/plugins/KeyExplorer/VerySimpleGetter.java     2008-05-20 22:14:49 UTC 
(rev 19985)
@@ -7,6 +7,7 @@
 import freenet.client.async.ClientRequestScheduler;
 import freenet.client.async.ClientRequester;
 import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
 import freenet.support.Logger;

 /**
@@ -24,7 +25,7 @@
         * @param client2 
         * 
         */
-       public VerySimpleGetter(short priorityclass, ClientRequestScheduler 
chkscheduler, ClientRequestScheduler sskscheduler, FreenetURI uri2, Object 
client2) {
+       public VerySimpleGetter(short priorityclass, ClientRequestScheduler 
chkscheduler, ClientRequestScheduler sskscheduler, FreenetURI uri2, 
RequestClient client2) {
                super(priorityclass, chkscheduler, sskscheduler, client2);
                uri = uri2;
        }

Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java      2008-05-20 22:07:32 UTC (rev 
19984)
+++ trunk/plugins/XMLSpider/XMLSpider.java      2008-05-20 22:14:49 UTC (rev 
19985)
@@ -55,6 +55,7 @@
 import freenet.keys.USK;
 import freenet.node.NodeClientCore;
 import freenet.node.PrioRunnable;
+import freenet.node.RequestClient;
 import freenet.node.RequestStarter;
 import freenet.oldplugins.plugin.HttpPlugin;
 import freenet.oldplugins.plugin.PluginManager;
@@ -78,7 +79,7 @@
  *  @author swati goyal
  *  
  */
-public class XMLSpider implements FredPlugin, FredPluginHTTP, 
FredPluginThreadless,  FredPluginHTTPAdvanced,HttpPlugin, USKCallback{
+public class XMLSpider implements FredPlugin, FredPluginHTTP, 
FredPluginThreadless,  FredPluginHTTPAdvanced,HttpPlugin, USKCallback, 
RequestClient{

        long tProducedIndex;
        /**


Reply via email to