Class RefreshRoutersJob

java.lang.Object
net.i2p.router.JobImpl
net.i2p.router.networkdb.kademlia.RefreshRoutersJob
All Implemented Interfaces:
Job

class RefreshRoutersJob extends JobImpl
Go through all the routers once, after startup, and refetch their router infos. This should be run once after startup (and preferably after any reseed is complete, but we don't have any indication when that is). This will help routers that start after being shutdown for many days or weeks, as well as newly-reseeded routers, since validate() in KNDF doesn't start failing and refetching until the router has been up for an hour. To improve integration even more, we fetch the floodfills first. Ideally this should complete within the first half-hour of uptime. As of 0.9.45, periodically rerun, to maintain a minimum number of floodfills, primarily for hidden mode. StartExplorersJob will get us to about 100 ffs and maintain that for a while, but they will eventually start to expire. Use this to get us to 300 or more. Each pass of this will gain us about 150 ffs. If we have more than 300 ffs, we just requeue to check later. Otherwise this will grow our netdb almost unbounded, as it prevents most normal expiration.
Since:
0.8.8
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Description copied from interface: Job
      Descriptive name of the task
    • runJob

      public void runJob()
      Description copied from interface: Job
      Actually perform the task. This call blocks until the Job is complete.