net.i2p.router.networkdb.kademlia

## Class IterativeFollowupJob

- java.lang.Object
- - net.i2p.router.JobImpl
  - - net.i2p.router.networkdb.kademlia.FloodSearchJob
    - - net.i2p.router.networkdb.kademlia.FloodOnlySearchJob
      - - net.i2p.router.networkdb.kademlia.SingleSearchJob
        - - net.i2p.router.networkdb.kademlia.IterativeFollowupJob

- All Implemented Interfaces:
    Job

      class IterativeFollowupJob
      extends SingleSearchJob

  Performs targeted followup lookups during iterative search operations.

  Extends SingleSearchJob to query specific peers for RouterInfo during iterative searches. Unlike SingleSearchJob, this class notifies the parent search job when successful, allowing the iterative search to incorporate the new peer into its search strategy.

  Used when iterative searches discover new peers that need direct querying to obtain their RouterInfo for further search refinement. Provides seamless integration with the iterative search algorithm while reusing existing selector infrastructure.

- - ### Field Summary

    - ### Fields inherited from class net.i2p.router.networkdb.kademlia.FloodOnlySearchJob

      `_onReply, _onTimeout, _replySelector`

    - ### Fields inherited from class net.i2p.router.networkdb.kademlia.FloodSearchJob

      `_created, _dead, _expiration, _facade, _isLease, _key, _log, _lookupsRemaining, _onFailed, _onFind, _success, _timeoutMs, CONCURRENT_SEARCHES`

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

      `_id`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IterativeFollowupJob(RouterContext ctx, Hash key, Hash to, IterativeSearchJob search)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Deprecated, unused, see FOSJ override
    `(package private) void` | `success()` Deprecated, unused, see FOSJ override

    - ### Methods inherited from class net.i2p.router.networkdb.kademlia.SingleSearchJob

      `failed, runJob, shouldProcessDSRM`

    - ### Methods inherited from class net.i2p.router.networkdb.kademlia.FloodOnlySearchJob

      `decrementRemaining`

    - ### Methods inherited from class net.i2p.router.networkdb.kademlia.FloodSearchJob

      `addDeferred, decrementRemaining, getCreated, getExpiration, getKey, getLookupsRemaining`

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

    - #### IterativeFollowupJob

          public IterativeFollowupJob(RouterContext ctx,
                                      Hash key,
                                      Hash to,
                                      IterativeSearchJob search)

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from class: `FloodSearchJob`
      Deprecated, unused, see FOSJ override
      Specified by:
        `getName` in interface `Job`
      Overrides:
        `getName` in class `SingleSearchJob`
      Returns:
        the descriptive name of the task

    - #### success

          void success()

      Description copied from class: `FloodSearchJob`
      Deprecated, unused, see FOSJ override
      Overrides:
        `success` in class `SingleSearchJob`