## net.i2p.router.networkdb.kademlia
Class ExpireRoutersJob

    java.lang.Object
      net.i2p.router.JobImpl
          net.i2p.router.networkdb.kademlia.ExpireRoutersJob

All Implemented Interfaces:
  Job

     class ExpireRoutersJob

extends JobImpl

Go through the routing table pick routers that are is out of date, but don't expire routers we're actively connected to. We could in the future use profile data, netdb total size, a Kademlia XOR distance, or other criteria to minimize netdb size, but for now we just use _facade's validate(), which is a sliding expriation based on netdb size.

Constructor Summary
`ExpireRoutersJob(RouterContext ctx, KademliaNetworkDatabaseFacade facade)`

Method Summary
`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`

Constructor Detail

### ExpireRoutersJob

    public ExpireRoutersJob(RouterContext ctx,
                            KademliaNetworkDatabaseFacade facade)

Method Detail

### 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.