Author: nextgens
Date: 2007-04-12 20:54:22 +0000 (Thu, 12 Apr 2007)
New Revision: 12617

Modified:
   trunk/freenet/src/freenet/node/fcp/FCPClient.java
   trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
Log:
Delete files created by DDATest if we loose the connection to the client

Modified: trunk/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPClient.java   2007-04-12 19:45:07 UTC 
(rev 12616)
+++ trunk/freenet/src/freenet/node/fcp/FCPClient.java   2007-04-12 20:54:22 UTC 
(rev 12617)
@@ -88,6 +88,7 @@
        }

        public synchronized void onLostConnection(FCPConnectionHandler handler) 
{
+               handler.freeDDAJobs();
                if(currentConnection == handler)
                        currentConnection = null;
        }

Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2007-04-12 19:45:07 UTC (rev 12616)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2007-04-12 20:54:22 UTC (rev 12617)
@@ -5,6 +5,7 @@
 import java.io.IOException;
 import java.net.Socket;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Random;

 import freenet.support.HexUtil;
@@ -385,4 +386,16 @@
                        return (DDACheckJob)inTestDirectories.remove(directory);
                }
        }
+       
+       /**
+        * Delete the files we have created using DDATest
+        * called by FCPClient.onDisconnect(handler)
+        */
+       protected void freeDDAJobs(){
+               synchronized (inTestDirectories) {
+                       Iterator it = inTestDirectories.entrySet().iterator();
+                       while(it.hasNext())
+                               ((DDACheckJob)it.next()).readFilename.delete();
+               }
+       }
 }


Reply via email to