[freenet-cvs] r14964 - in trunk/freenet/src/freenet: clients/http node/fcp

toad at freenetproject.org toad at freenetproject.org
Tue Sep 4 17:31:43 UTC 2007


Author: toad
Date: 2007-09-04 17:31:43 +0000 (Tue, 04 Sep 2007)
New Revision: 14964

Modified:
   trunk/freenet/src/freenet/clients/http/QueueToadlet.java
   trunk/freenet/src/freenet/node/fcp/ClientRequest.java
Log:
Queue page: Asynchronous restart with feedback

Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java	2007-09-04 17:08:37 UTC (rev 14963)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java	2007-09-04 17:31:43 UTC (rev 14964)
@@ -117,14 +117,7 @@
 				for (int requestIndex = 0, requestCount = clientRequests.length; requestIndex < requestCount; requestIndex++) {
 					ClientRequest clientRequest = clientRequests[requestIndex];
 					if (clientRequest.getIdentifier().equals(identifier)) {
-						if(!clientRequest.restart()) {
-							sendErrorPage(ctx, 200, 
-									L10n.getString("QueueToadlet.failedToRestartRequest"),
-									L10n.getString("QueueToadlet.failedToRestart", 
-											new String[]{ "id" },
-											new String[] { identifier}
-							));
-						}
+						clientRequest.restartAsync();
 					}
 				}
 				fcp.forceStorePersistentRequests();

Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java	2007-09-04 17:08:37 UTC (rev 14963)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java	2007-09-04 17:31:43 UTC (rev 14964)
@@ -367,4 +367,15 @@
 		SerializableToFieldSetBucket bucket = (SerializableToFieldSetBucket) data;
 		fs.put(name, bucket.toFieldSet());
 	}
+
+	public void restartAsync() {
+		synchronized(this) {
+			this.started = false;
+		}
+		client.core.getExecutor().execute(new Runnable() {
+			public void run() {
+				restart();
+			}
+		}, "Restarting "+this);
+	}
 }




More information about the cvs mailing list