[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