Class HarvesterJob

  extended by net.i2p.router.JobImpl
      extended by net.i2p.router.networkdb.kademlia.HarvesterJob
All Implemented Interfaces:

 class HarvesterJob
extends JobImpl

Simple job to try to keep our peer references up to date by aggressively requerying them every few minutes. This isn't useful for normal operation, but instead helps with gathering operational data on the network - while old RouterInfo refs are sufficient for functionality, newer ones let us harvest the published peer statistics much more frequently. By default this job is disabled (it runs but doesn't do anything), but if the router config option 'netDb.shouldHarvest' is set to 'true', then every minute it'll ask the 5 oldest peers to send their latest info (unless the info is less than 30 minutes old).

Field Summary
static java.lang.String PROP_ENABLED
Constructor Summary
HarvesterJob(RouterContext context, KademliaNetworkDatabaseFacade facade)
Method Summary
 java.lang.String getName()
          Descriptive name of the task
 void runJob()
          Actually perform the task.
Methods inherited from class net.i2p.router.JobImpl
dropped, getAddedBy, getContext, getJobId, getMadeReadyOn, getTiming, madeReady, requeue, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail


public static final java.lang.String PROP_ENABLED
See Also:
Constant Field Values
Constructor Detail


public HarvesterJob(RouterContext context,
                    KademliaNetworkDatabaseFacade facade)
Method Detail


public java.lang.String getName()
Description copied from interface: Job
Descriptive name of the task


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