Author: toad
Date: 2008-05-20 22:28:33 +0000 (Tue, 20 May 2008)
New Revision: 19986

Modified:
   branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.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/USKManager.java
   branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.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/PeerNode.java
   branches/db4o/freenet/src/freenet/node/RequestClient.java
   branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
   branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
   branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSK.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/XMLSpider/XMLSpider.java
Log:
RequestClient: add persistent() method.
Also make a non-persistent RequestClient on Node.

Modified: 
branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-05-20 22:28:33 UTC (rev 19986)
@@ -265,4 +265,8 @@
                }
        }

+       public boolean persistent() {
+               return false;
+       }
+
 }

Modified: branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-05-20 22:28:33 UTC (rev 19986)
@@ -176,4 +176,8 @@
                return (Key) token;
        }

+       public boolean persistent() {
+               return false;
+       }
+
 }

Modified: branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-05-20 22:28:33 UTC (rev 19986)
@@ -23,7 +23,10 @@
        final HashMap runningInserters;

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

Modified: branches/db4o/freenet/src/freenet/client/async/USKManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKManager.java      
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/client/async/USKManager.java      
2008-05-20 22:28:33 UTC (rev 19986)
@@ -316,4 +316,8 @@
                        }
                }
        }
+
+       public boolean persistent() {
+               return false;
+       }
 }

Modified: branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-05-20 22:28:33 UTC (rev 19986)
@@ -423,7 +423,10 @@
                try {
                        if(Logger.shouldLog(Logger.MINOR, this))
                                Logger.minor(this, "FProxy fetching "+key+" 
("+maxSize+ ')');
-                       FetchResult result = fetch(key, maxSize, new 
RequestClient() { }); 
+                       FetchResult result = fetch(key, maxSize, new 
RequestClient() {
+                               public boolean persistent() {
+                                       return false;
+                               } }); 

                        // Now, is it safe?


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:14:49 UTC (rev 19985)
+++ 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java    
    2008-05-20 22:28:33 UTC (rev 19986)
@@ -367,4 +367,8 @@

                return sfs;
        }
+
+       public boolean persistent() {
+               return false;
+       }
 }

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

        private static boolean logMINOR;

@@ -3334,6 +3334,12 @@
        }

        private SimpleUserAlert alertMTUTooSmall;
+
+       public final RequestClient nonPersistentClient = new RequestClient() {
+               public boolean persistent() {
+                       return false;
+               }
+       };

        public void onTooLowMTU(int minAdvertisedMTU, int minAcceptableMTU) {
                if(alertMTUTooSmall == null) {

Modified: branches/db4o/freenet/src/freenet/node/NodeARKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-05-20 
22:28:33 UTC (rev 19986)
@@ -261,4 +261,8 @@
                // Ignore, we don't care
        }

+       public boolean persistent() {
+               return false;
+       }
+
 }
\ No newline at end of file

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

        private static boolean logMINOR;
        public final USKManager uskManager;

Modified: branches/db4o/freenet/src/freenet/node/PeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/PeerNode.java        2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/PeerNode.java        2008-05-20 
22:28:33 UTC (rev 19986)
@@ -1988,7 +1988,7 @@
                        }
                        if(arkFetcher == null) {
                                Logger.minor(this, "Starting ARK fetcher for " 
+ this + " : " + myARK);
-                               arkFetcher = 
node.clientCore.uskManager.subscribeContent(myARK, this, true, 
node.arkFetcherContext, RequestStarter.IMMEDIATE_SPLITFILE_PRIORITY_CLASS, 
node);
+                               arkFetcher = 
node.clientCore.uskManager.subscribeContent(myARK, this, true, 
node.arkFetcherContext, RequestStarter.IMMEDIATE_SPLITFILE_PRIORITY_CLASS, 
node.nonPersistentClient);
                        }
                }
        }

Modified: branches/db4o/freenet/src/freenet/node/RequestClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestClient.java   2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/RequestClient.java   2008-05-20 
22:28:33 UTC (rev 19986)
@@ -10,5 +10,10 @@
  * @author toad
  */
 public interface RequestClient {
+       
+       /**
+        * Is this request persistent? **Must not change!**
+        */
+       public boolean persistent();

 }

Modified: branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-05-20 22:28:33 UTC (rev 19986)
@@ -26,7 +26,7 @@
        public SimpleSendableInsert(NodeClientCore core, KeyBlock block, short 
prioClass) {
                this.block = block;
                this.prioClass = prioClass;
-               this.client = core;
+               this.client = core.node.nonPersistentClient;
                if(block instanceof CHKBlock)
                        scheduler = core.requestStarters.chkPutScheduler;
                else if(block instanceof SSKBlock)

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-05-20 
22:28:33 UTC (rev 19986)
@@ -124,7 +124,7 @@
                                ret.free();
                                throw e;
                        }
-                       getter = new ClientGetter(this, 
client.core.requestStarters.chkFetchScheduler, 
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass, 
client.lowLevelClient, returnBucket, null);
+                       getter = new ClientGetter(this, 
client.core.requestStarters.chkFetchScheduler, 
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass, 
client.lowLevelClientPersistent, returnBucket, null);
                        if(persistenceType != PERSIST_CONNECTION) {
                                FCPMessage msg = persistentTagMessage();
                                client.queueClientRequestMessage(msg, 0);
@@ -196,7 +196,7 @@
                        }
                        getter = new ClientGetter(this, 
client.core.requestStarters.chkFetchScheduler, 
                                        
client.core.requestStarters.sskFetchScheduler, uri, fctx, priorityClass, 
-                                       client.lowLevelClient, binaryBlob ? new 
NullBucket() : returnBucket, 
+                                       client.lowLevelClientPersistent, 
binaryBlob ? new NullBucket() : returnBucket, 
                                                        binaryBlob ? 
returnBucket : null);
                        if(persistenceType != PERSIST_CONNECTION) {
                                FCPMessage msg = persistentTagMessage();
@@ -299,7 +299,8 @@

                getter = new ClientGetter(this, 
client.core.requestStarters.chkFetchScheduler, 
                                client.core.requestStarters.sskFetchScheduler, 
uri, 
-                               fctx, priorityClass, client.lowLevelClient, 
+                               fctx, priorityClass, 
+                               persistenceType == PERSIST_CONNECTION ? 
client.lowLevelClientTransient : client.lowLevelClientPersistent, 
                                binaryBlob ? new NullBucket() : returnBucket, 
                                                binaryBlob ? returnBucket : 
null);


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-05-20 
22:28:33 UTC (rev 19986)
@@ -147,7 +147,9 @@

                putter = new ClientPutter(this, data, uri, cm, 
                                ctx, 
client.core.requestStarters.chkPutScheduler, 
client.core.requestStarters.sskPutScheduler, priorityClass, 
-                               getCHKOnly, isMetadata, client.lowLevelClient, 
null, targetFilename, binaryBlob);
+                               getCHKOnly, isMetadata, 
+                               persistenceType == PERSIST_CONNECTION ? 
client.lowLevelClientTransient : client.lowLevelClientPersistent,
+                               null, targetFilename, binaryBlob);
                if(persistenceType != PERSIST_CONNECTION) {
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);
@@ -257,7 +259,9 @@
                if(logMINOR) Logger.minor(this, "data = "+data+", uploadFrom = 
"+ClientPutMessage.uploadFromString(uploadFrom));
                putter = new ClientPutter(this, data, uri, cm, 
                                ctx, 
client.core.requestStarters.chkPutScheduler, 
client.core.requestStarters.sskPutScheduler, priorityClass, 
-                               getCHKOnly, isMetadata, client.lowLevelClient, 
null, targetFilename, binaryBlob);
+                               getCHKOnly, isMetadata,
+                               persistenceType == PERSIST_CONNECTION ? 
client.lowLevelClientTransient : client.lowLevelClientPersistent,
+                               null, targetFilename, binaryBlob);
                if(persistenceType != PERSIST_CONNECTION) {
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);
@@ -349,8 +353,9 @@
                SimpleFieldSet oldProgress = fs.subset("progress");
                if(finished) oldProgress = null; // Not useful any more
                putter = new ClientPutter(this, data, uri, cm, ctx, 
client.core.requestStarters.chkPutScheduler, 
-                               client.core.requestStarters.sskPutScheduler, 
priorityClass, getCHKOnly, isMetadata, 
-                               client.lowLevelClient, oldProgress, 
targetFilename, binaryBlob);
+                               client.core.requestStarters.sskPutScheduler, 
priorityClass, getCHKOnly, isMetadata,
+                               persistenceType == PERSIST_CONNECTION ? 
client.lowLevelClientTransient : client.lowLevelClientPersistent,
+                               oldProgress, targetFilename, binaryBlob);
                if(persistenceType != PERSIST_CONNECTION) {
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-05-20 22:28:33 UTC (rev 19986)
@@ -130,7 +130,9 @@
                SimpleManifestPutter p;
                try {
                        p = new SimpleManifestPutter(this, 
client.core.requestStarters.chkPutScheduler, 
client.core.requestStarters.sskPutScheduler,
-                                       manifestElements, priorityClass, uri, 
defaultName, ctx, getCHKOnly, client.lowLevelClient, earlyEncode);
+                                       manifestElements, priorityClass, uri, 
defaultName, ctx, getCHKOnly,
+                                       persistenceType == PERSIST_CONNECTION ? 
client.lowLevelClientTransient : client.lowLevelClientPersistent,
+                                       earlyEncode);
                } catch (InsertException e) {
                        onFailure(e, null);
                        p = null;
@@ -209,7 +211,9 @@
                try {
                        if(!finished)
                                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, 
+                                               persistenceType == 
PERSIST_CONNECTION ? client.lowLevelClientTransient : 
client.lowLevelClientPersistent,
+                                               earlyEncode);
                } catch (InsertException e) {
                        onFailure(e, null);
                        p = null;

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-05-20 
22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-05-20 
22:28:33 UTC (rev 19986)
@@ -17,7 +17,7 @@
  * An FCP client.
  * Identified by its Name which is sent on connection.
  */
-public class FCPClient implements RequestClient {
+public class FCPClient {

        public FCPClient(String name2, FCPServer server, FCPConnectionHandler 
handler, boolean isGlobalQueue, RequestCompletionCallback cb) {
                this.name = name2;
@@ -35,7 +35,16 @@
                clientsWatching = new LinkedList();
                watchGlobalVerbosityMask = Integer.MAX_VALUE;
                toStart = new LinkedList();
-               lowLevelClient = this;
+               lowLevelClientPersistent = new RequestClient() {
+                       public boolean persistent() {
+                               return true;
+                       }
+               };
+               lowLevelClientTransient = new RequestClient() {
+                       public boolean persistent() {
+                               return false;
+                       }
+               };
                completionCallback = cb;
        }

@@ -66,8 +75,8 @@
        // We obviously can't synchronize on it when it hasn't been constructed 
yet...
        final LinkedList clientsWatching;
        private final LinkedList toStart;
-       /** Low-level client object, for freenet.client.async. Normally == 
this. */
-       final RequestClient lowLevelClient;
+       final RequestClient lowLevelClientPersistent;
+       final RequestClient lowLevelClientTransient;
        private RequestCompletionCallback completionCallback;

        public synchronized FCPConnectionHandler getConnection() {

Modified: branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSK.java        
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSK.java        
2008-05-20 22:28:33 UTC (rev 19986)
@@ -21,7 +21,7 @@
                this.dontPoll = message.dontPoll;
                this.identifier = message.identifier;
                this.core = core;
-               core.uskManager.subscribe(message.key, this, !message.dontPoll, 
handler.getClient().lowLevelClient);
+               core.uskManager.subscribe(message.key, this, !message.dontPoll, 
handler.getClient().lowLevelClientTransient);
        }

        public void onFoundEdition(long l, USK key) {

Modified: branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java     
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/updater/NodeUpdater.java     
2008-05-20 22:28:33 UTC (rev 19986)
@@ -351,4 +351,8 @@
        public short getPollingPriorityProgress() {
                return RequestStarter.IMMEDIATE_SPLITFILE_PRIORITY_CLASS;
        }
+
+       public boolean persistent() {
+               return false;
+       }
 }

Modified: branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java       
2008-05-20 22:14:49 UTC (rev 19985)
+++ branches/db4o/freenet/src/freenet/node/updater/RevocationChecker.java       
2008-05-20 22:28:33 UTC (rev 19986)
@@ -254,4 +254,8 @@
                return null;
        }

+       public boolean persistent() {
+               return false;
+       }
+
 }

Modified: 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-05-20 22:14:49 UTC (rev 19985)
+++ 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-05-20 22:28:33 UTC (rev 19986)
@@ -1237,4 +1237,8 @@
                }
                return !gotError;
        }
+
+       public boolean persistent() {
+               return false;
+       }
 }

Modified: trunk/plugins/KeyExplorer/KeyExplorer.java
===================================================================
--- trunk/plugins/KeyExplorer/KeyExplorer.java  2008-05-20 22:14:49 UTC (rev 
19985)
+++ trunk/plugins/KeyExplorer/KeyExplorer.java  2008-05-20 22:28:33 UTC (rev 
19986)
@@ -137,7 +137,10 @@
                        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, new 
RequestClient() {});
+                               
.getNode().clientCore.requestStarters.sskFetchScheduler, uri, new 
RequestClient() {
+                                       public boolean persistent() {
+                                               return false;
+                                       }});
                VerySimpleGet vs = new VerySimpleGet(ck, 3, 
m_pr.getHLSimpleClient().getFetchContext(), vsg);
                vs.schedule();
                return new GetResult(vs.waitForCompletion(), vs.isMetadata());

Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java      2008-05-20 22:14:49 UTC (rev 
19985)
+++ trunk/plugins/XMLSpider/XMLSpider.java      2008-05-20 22:28:33 UTC (rev 
19986)
@@ -1344,4 +1344,8 @@
                return PRIORITY_CLASS;
        }

+       public boolean persistent() {
+               return false;
+       }
+
 }


Reply via email to