Author: toad
Date: 2006-07-21 18:03:36 +0000 (Fri, 21 Jul 2006)
New Revision: 9699

Modified:
   trunk/freenet/src/freenet/client/async/ClientPutter.java
   trunk/freenet/src/freenet/client/async/SingleFileInserter.java
   trunk/freenet/src/freenet/clients/http/QueueToadlet.java
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
   trunk/freenet/src/freenet/node/fcp/ClientPut.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
   trunk/freenet/src/freenet/node/fcp/ClientRequest.java
   trunk/freenet/src/freenet/node/fcp/PersistentGet.java
   trunk/freenet/src/freenet/node/fcp/PersistentPut.java
   trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
Log:
More insert resuming related fixes. Indicate whether a request is still 
deserializing on the /queue/ page (needs prettifying).

Modified: trunk/freenet/src/freenet/client/async/ClientPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientPutter.java    2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/client/async/ClientPutter.java    2006-07-21 
18:03:36 UTC (rev 9699)
@@ -68,6 +68,7 @@
                        }
                        ((SingleFileInserter)currentState).start(oldProgress);
                } catch (InserterException e) {
+                       Logger.error(this, "Failed to start insert: "+e, e);
                        synchronized(this) {
                                finished = true;
                                currentState = null;
@@ -141,10 +142,7 @@
        }

        public SimpleFieldSet getProgressFieldset() {
-               if(currentState == null) {
-                       Logger.error(this, "getProgressFieldset() called on 
"+this+" but no current progress");
-                       throw new NullPointerException();
-               }
+               if(currentState == null) return null;
                return currentState.getProgressFieldset();
        }


Modified: trunk/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileInserter.java      
2006-07-21 17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/client/async/SingleFileInserter.java      
2006-07-21 18:03:36 UTC (rev 9699)
@@ -92,6 +92,7 @@
                        // Run off thread
                        OffThreadCompressor otc = new OffThreadCompressor();
                        Thread t = new Thread(otc, "Compressor for "+this);
+                       Logger.minor(this, "Compressing off-thread: "+t);
                        t.setDaemon(true);
                        t.start();
                } else {

Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2006-07-21 
18:03:36 UTC (rev 9699)
@@ -462,6 +462,11 @@
        private void writeProgressFractionCell(ClientRequest p, StringBuffer 
buf) {
                buf.append("<td>");

+               if(!p.isStarted()) {
+                       buf.append("STARTING</td>");
+                       return;
+               }
+               
                //double frac = p.getSuccessFraction();
                double total;
                if(node.getToadletContainer().isAdvancedDarknetEnabled())
@@ -478,6 +483,7 @@
                if (Double.isNaN(failed)) failed = 0.0;
                if (Double.isNaN(failed2)) failed2 = 0.0;
                if (Double.isNaN(min)) min = 0.0;
+               if(min == 0.0) min = 1.0;

                boolean b = p.isTotalFinalized();
                if(fetched < 0) {

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2006-07-21 17:27:46 UTC 
(rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2006-07-21 18:03:36 UTC 
(rev 9699)
@@ -229,8 +229,10 @@
                try {
                        getter.start();
                } catch (FetchException e) {
+                       started = true;
                        onFailure(e, null);
                }
+               started = true;
        }

        public void onLostConnection() {
@@ -351,7 +353,7 @@
                }
                if(!onlyData) {
                        if(includePersistentRequest) {
-                               FCPMessage msg = new PersistentGet(identifier, 
uri, verbosity, priorityClass, returnType, persistenceType, targetFile, 
tempFile, clientToken, client.isGlobalQueue);
+                               FCPMessage msg = new PersistentGet(identifier, 
uri, verbosity, priorityClass, returnType, persistenceType, targetFile, 
tempFile, clientToken, client.isGlobalQueue, started);
                                handler.queue(msg);
                        }
                        if(progressPending != null)

Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java   2006-07-21 17:27:46 UTC 
(rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java   2006-07-21 18:03:36 UTC 
(rev 9699)
@@ -162,8 +162,10 @@
                try {
                        inserter.start();
                } catch (InserterException e) {
+                       started = true;
                        onFailure(e, null);
                }
+               started = true;
        }

        protected void freeData() {
@@ -200,7 +202,7 @@
        protected FCPMessage persistentTagMessage() {
                return new PersistentPut(identifier, uri, verbosity, 
priorityClass, uploadFrom, targetURI, 
                                persistenceType, origFilename, 
clientMetadata.getMIMEType(), client.isGlobalQueue,
-                               data == null ? -1 : data.size(), clientToken);
+                               data == null ? -1 : data.size(), clientToken, 
started);
        }

        protected String getTypeName() {

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2006-07-21 
18:03:36 UTC (rev 9699)
@@ -135,8 +135,10 @@
                try {
                        if(putter != null)
                                putter.start();
+                       started = true;
                        Logger.minor(this, "Started "+putter);
                } catch (InserterException e) {
+                       started = true;
                        onFailure(e, null);
                }
        }
@@ -217,7 +219,7 @@

        protected FCPMessage persistentTagMessage() {
                return new PersistentPutDir(identifier, uri, verbosity, 
priorityClass,
-                               persistenceType, global, defaultName, 
manifestElements);
+                               persistenceType, global, defaultName, 
manifestElements, clientToken, started);
        }

        protected String getTypeName() {

Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2006-07-21 
18:03:36 UTC (rev 9699)
@@ -275,4 +275,10 @@
        /** Start the request, if it has not already been started. */
        public abstract void start();

+       protected boolean started;
+       
+       public boolean isStarted() {
+               return started;
+       }
+       
 }

Modified: trunk/freenet/src/freenet/node/fcp/PersistentGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentGet.java       2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/PersistentGet.java       2006-07-21 
18:03:36 UTC (rev 9699)
@@ -25,10 +25,11 @@
        final File tempFile;
        final String clientToken;
        final boolean global;
+       final boolean started;

        public PersistentGet(String identifier, FreenetURI uri, int verbosity, 
                        short priorityClass, short returnType, short 
persistenceType, 
-                       File targetFile, File tempFile, String clientToken, 
boolean global) {
+                       File targetFile, File tempFile, String clientToken, 
boolean global, boolean started) {
                this.identifier = identifier;
                this.uri = uri;
                this.verbosity = verbosity;
@@ -39,6 +40,7 @@
                this.tempFile = tempFile;
                this.clientToken = clientToken;
                this.global = global;
+               this.started = started;
        }

        public SimpleFieldSet getFieldSet() {
@@ -56,6 +58,7 @@
                if(clientToken != null)
                        fs.put("ClientToken", clientToken);
                fs.put("Global", Boolean.toString(global));
+               fs.put("Started", Boolean.toString(started));
                return fs;
        }


Modified: trunk/freenet/src/freenet/node/fcp/PersistentPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPut.java       2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPut.java       2006-07-21 
18:03:36 UTC (rev 9699)
@@ -22,11 +22,12 @@
        final FreenetURI targetURI;
        final long size;
        final String token;
+       final boolean started;

        public PersistentPut(String identifier, FreenetURI uri, int verbosity, 
                        short priorityClass, short uploadFrom, FreenetURI 
targetURI, 
                        short persistenceType, File origFilename, String 
mimeType, 
-                       boolean global, long size, String clientToken) {
+                       boolean global, long size, String clientToken, boolean 
started) {
                this.identifier = identifier;
                this.uri = uri;
                this.verbosity = verbosity;
@@ -39,6 +40,7 @@
                this.global = global;
                this.size = size;
                this.token = clientToken;
+               this.started = started;
        }

        public SimpleFieldSet getFieldSet() {
@@ -60,6 +62,7 @@
                        fs.put("DataLength", size);
                if(token != null)
                        fs.put("ClientToken", token);
+               fs.put("Started", started);
                return fs;
        }


Modified: trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2006-07-21 
17:27:46 UTC (rev 9698)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2006-07-21 
18:03:36 UTC (rev 9699)
@@ -23,10 +23,12 @@
        final boolean global;
        private final HashMap manifestElements;
        final String defaultName;
+       final String token;
+       final boolean started;

        public PersistentPutDir(String identifier, FreenetURI uri, int 
verbosity, 
                        short priorityClass, short persistenceType, boolean 
global,
-                       String defaultName, HashMap manifestElements) {
+                       String defaultName, HashMap manifestElements, String 
token, boolean started) {
                this.identifier = identifier;
                this.uri = uri;
                this.verbosity = verbosity;
@@ -35,6 +37,8 @@
                this.global = global;
                this.defaultName = defaultName;
                this.manifestElements = manifestElements;
+               this.token = token;
+               this.started = started;
        }

        public SimpleFieldSet getFieldSet() {
@@ -80,6 +84,9 @@
                        files.put(num, subset);
                }
                fs.put("Files", files);
+               if(token != null)
+                       fs.put("ClientToken", token);
+               fs.put("Started", Boolean.toString(started));
                return fs;
        }



Reply via email to