net.i2p.router.networkdb.kademlia

## Class IterativeTimeoutJob

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

- All Implemented Interfaces:
    Job

      class IterativeTimeoutJob
      extends JobImpl

  Handles timeout events for individual peer lookups in iterative searches.

  Manages timeout scenarios for specific peer queries during iterative search operations. Unlike overall search timeouts, this handles individual peer response timeouts while allowing the broader iterative search to continue with other peers.

  Coordinates with IterativeSearchJob to mark peers as failed when they don't respond within the expected time window. The decision whether a timeout actually occurred is delegated to the parent search job's failure detection logic.

  Ensures robust iterative search behavior by handling unresponsive peers without disrupting the overall search progress.

- - ### Field Summary

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

      `_id`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IterativeTimeoutJob(RouterContext ctx, Hash peer, IterativeSearchJob job)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Descriptive name of the task
    `void` | `runJob()` Actually perform the task.

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

    - #### IterativeTimeoutJob

          public IterativeTimeoutJob(RouterContext ctx,
                                     Hash peer,
                                     IterativeSearchJob job)

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

      Description copied from interface: `Job`
      Actually perform the task. This call blocks until the Job is complete.