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


Reply via email to