net.i2p.router.networkdb.kademlia
Class HarvesterJob

java.lang.Object
  extended by net.i2p.router.JobImpl
      extended by net.i2p.router.networkdb.kademlia.HarvesterJob
All Implemented Interfaces:
Job

 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

PROP_ENABLED

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

HarvesterJob

public HarvesterJob(RouterContext context,
                    KademliaNetworkDatabaseFacade facade)
Method Detail

getName

public java.lang.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.