[freenet-cvs] r11648 - trunk/freenet/src/freenet/node/fcp

bback at freenetproject.org bback at freenetproject.org
Fri Feb 2 11:42:41 UTC 2007


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();
 	}
-
 }




More information about the cvs mailing list