Author: bback
Date: 2007-02-02 11:42:40 +0000 (Fri, 02 Feb 2007)
New Revision: 11648

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
   trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
   trunk/freenet/src/freenet/node/fcp/ClientRequest.java
   trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
   trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
Log:
- added ack of ModifyPersistentRequest
- !!! added ack of RemovePersistentRequest (new message 
PersistentRequestRemoved)

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2007-01-31 19:33:47 UTC 
(rev 11647)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2007-02-02 11:42:40 UTC 
(rev 11648)
@@ -423,7 +423,7 @@
                        handler.queue(allDataPending);
        }

-       private FCPMessage persistentTagMessage() {
+       protected FCPMessage persistentTagMessage() {
                return new PersistentGet(identifier, uri, verbosity, 
priorityClass, returnType, persistenceType, targetFile, tempFile, clientToken, 
client.isGlobalQueue, started, fctx.maxNonSplitfileRetries);
        }

@@ -657,5 +657,4 @@
                        return false;
                }
        }
-
 }

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2007-01-31 
19:33:47 UTC (rev 11647)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2007-02-02 
11:42:40 UTC (rev 11648)
@@ -240,8 +240,6 @@
                        trySendFinalMessage(handler);
        }

-       protected abstract FCPMessage persistentTagMessage();
-       
        public synchronized SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(); // we will need 
multi-level later...
                fs.put("Type", getTypeName());

Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2007-01-31 
19:33:47 UTC (rev 11647)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2007-02-02 
11:42:40 UTC (rev 11648)
@@ -1,20 +1,13 @@
 package freenet.node.fcp;

-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.net.MalformedURLException;
+import java.io.*;
+import java.net.*;

-import freenet.client.async.ClientRequester;
-import freenet.keys.FreenetURI;
-import freenet.support.Fields;
-import freenet.support.HexUtil;
-import freenet.support.Logger;
-import freenet.support.SimpleFieldSet;
-import freenet.support.api.Bucket;
-import freenet.support.io.FileBucket;
-import freenet.support.io.PaddedEphemerallyEncryptedBucket;
-import freenet.support.io.SerializableToFieldSetBucket;
+import freenet.client.async.*;
+import freenet.keys.*;
+import freenet.support.*;
+import freenet.support.api.*;
+import freenet.support.io.*;

 /**
  * A request process carried out by the node for an FCP client.
@@ -298,6 +291,24 @@

        public abstract boolean restart();

+    protected abstract FCPMessage persistentTagMessage();
+
+    /**
+     * Called after a ModifyPersistentRequest. Send a PersistentTagMessage to 
the clients.
+     */
+    public void requestWasModified() {
+        FCPMessage msg = persistentTagMessage();
+        client.queueClientRequestMessage(msg, 0);
+    }
+
+    /**
+     * Called after a RemovePersistentRequest. Send a PersistentRequestRemoved 
to the clients.
+     */
+    public void requestWasRemoved() {
+        FCPMessage msg = new PersistentRequestRemovedMessage(getIdentifier(), 
global);
+        client.queueClientRequestMessage(msg, 0);
+    }
+
        /** Utility method for storing details of a possibly encrypted bucket. 
*/
        protected void bucketToFS(SimpleFieldSet fs, String name, boolean 
includeSize, Bucket data) {
                SerializableToFieldSetBucket bucket = 
(SerializableToFieldSetBucket) data;

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2007-01-31 19:33:47 UTC (rev 11647)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2007-02-02 11:42:40 UTC (rev 11648)
@@ -78,6 +78,7 @@
                        req.setPriorityClass(priorityClass);
                if(req.isPersistentForever())
                        client.server.forceStorePersistentRequests();
+
+        req.requestWasModified();
        }
-
 }

Modified: trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2007-01-31 19:33:47 UTC (rev 11647)
+++ trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2007-02-02 11:42:40 UTC (rev 11648)
@@ -4,8 +4,7 @@
 package freenet.node.fcp;

 import freenet.node.Node;
-import freenet.support.Fields;
-import freenet.support.SimpleFieldSet;
+import freenet.support.*;

 /**
  * Client telling node to remove a (completed or not) persistent request.
@@ -37,7 +36,12 @@
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                FCPClient client = global ? handler.server.globalClient : 
handler.getClient();
+        ClientRequest req = client.getRequest(identifier);
+        if(req==null){
+            Logger.error(this, "Huh ? the request is null!");
+            return;
+        }
                client.removeByIdentifier(identifier, true);
+        req.requestWasRemoved();
        }
-
 }


Reply via email to