/*
  * Shuts down the pending replication monitor thread. Waits for the thread
  * to exit.
  */
 void stop() {
   fsRunning = false;
   timerThread.interrupt();
   try {
     timerThread.join(3000);
   } catch (InterruptedException ie) {
   }
 }
 void init() {
   pendingReplications = new HashMap<Block, PendingBlockInfo>();
   timedOutItems = new ArrayList<Block>();
   this.timerThread = new Daemon(new PendingReplicationMonitor());
   timerThread.start();
 }