net.i2p.router.networkdb.kademlia

## Class FloodfillVerifyStoreJob

- java.lang.Object
- - net.i2p.router.JobImpl
  - - net.i2p.router.networkdb.kademlia.FloodfillVerifyStoreJob

- All Implemented Interfaces:
    Job

      class FloodfillVerifyStoreJob
      extends JobImpl

  Send a netDb lookup to a floodfill peer - If it is found, great, but if they reply back saying they don't know it, queue up a store of the key to a random floodfill peer again (via FloodfillStoreJob)

- - ### Field Summary

    - ### Fields inherited from class net.i2p.router.JobImpl

      `_id`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FloodfillVerifyStoreJob(RouterContext ctx, Hash key, Hash client, long published, int type, Hash sentTo, Set<Hash> toSkip, FloodfillNetworkDatabaseFacade facade)` Delay a few seconds, then start the verify

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Descriptive name of the task
    `void` | `runJob()` Query a random floodfill for the leaseset or routerinfo that we just stored to a (hopefully different) floodfill peer.

    - ### Methods inherited from class net.i2p.router.JobImpl

      `dropped, 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

    - #### FloodfillVerifyStoreJob

          public FloodfillVerifyStoreJob(RouterContext ctx,
                                         Hash key,
                                         Hash client,
                                         long published,
                                         int type,
                                         Hash sentTo,
                                         Set<Hash> toSkip,
                                         FloodfillNetworkDatabaseFacade facade)

      Delay a few seconds, then start the verify
      Parameters:
        `client` - generally the same as key, unless encrypted LS2; non-null
        `published` - getDate() for RI or LS1, getPublished() for LS2
        `sentTo` - who to give the credit or blame to, can be null
        `toSkip` - don't query any of these peers, may be null

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from interface: `Job`
      Descriptive name of the task
      Returns:
        the descriptive name of the task

    - #### runJob

          public void runJob()

      Query a random floodfill for the leaseset or routerinfo that we just stored to a (hopefully different) floodfill peer. If it fails (after a timeout period), resend the data. If the queried data is older than what we stored, that counts as a fail.