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;
/**