Author: robert
Date: 2007-12-10 18:08:07 +0000 (Mon, 10 Dec 2007)
New Revision: 16445

Modified:
   trunk/freenet/src/freenet/client/async/USKFetcher.java
Log:
Use Ticker rather than java.util.Timer for USKFetcher scheduling


Modified: trunk/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcher.java      2007-12-09 
22:40:42 UTC (rev 16444)
+++ trunk/freenet/src/freenet/client/async/USKFetcher.java      2007-12-10 
18:08:07 UTC (rev 16445)
@@ -7,8 +7,6 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.Timer;
-import java.util.TimerTask;
 import java.util.Vector;

 import freenet.client.FetchContext;
@@ -65,7 +63,6 @@
 public class USKFetcher implements ClientGetState {

        private static boolean logMINOR;
-       private static Timer uskWakeupTimer;

        /** USK manager */
        private final USKManager uskManager;
@@ -442,15 +439,11 @@
                if (delay<=0) {
                        schedule();
                } else {
-                       if (uskWakeupTimer==null) {
-                               synchronized (USKFetcher.class) {
-                                       //FIXME: Generates an un-named timer 
thread, rather than 'USKWakeupTimer' (java 1.5)
-                    if (uskWakeupTimer==null)
-                                               uskWakeupTimer=new Timer(true);
+                       uskManager.ticker.queueTimedJob(new Runnable() {
+                               public void run() {
+                                       USKFetcher.this.schedule();
                                }
-                       }
-                       uskWakeupTimer.schedule(new USKWakeup(), delay);
-                       Logger.minor(this, "schedule next USKCheck in "+delay+" 
ms");
+                       }, delay);
                }
        }

@@ -544,10 +537,4 @@
                return -1;
        }

-       class USKWakeup extends TimerTask {
-               public void run() {
-                       //schedule() will check for (USKFetcher.this.cancelled)
-                       USKFetcher.this.schedule();
-               }
-       }
 }


Reply via email to