net.i2p.router.networkdb.kademlia

## Class SingleSearchJob

- 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

- All Implemented Interfaces:
    Job
  Direct Known Subclasses:
    IterativeFollowupJob

      class SingleSearchJob
      extends FloodOnlySearchJob

  Performs a targeted lookup to a single peer for a specific key.

  This specialized search job queries exactly one peer for a RouterInfo associated with the target key. Despite extending FloodOnlySearchJob, this is not a flood operation but rather a direct, point-to-point lookup designed for specific scenarios where the target peer is known.

  Used primarily for followup operations and targeted peer validation where the response from a specific peer is required. The job handles tunnel selection, message construction, and timeout management for reliable single-peer communication.

- - ### 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
    `SingleSearchJob(RouterContext ctx, Hash key, Hash to)`

  - ### Method Summary

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

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

    - #### SingleSearchJob

          public SingleSearchJob(RouterContext ctx,
                                 Hash key,
                                 Hash to)

      Parameters:
        `key` - for Router Info ONLY

  - ### Method Detail

    - #### failed

          void failed()

      Description copied from class: `FloodSearchJob`
      Deprecated, unused, see FOSJ override
      Overrides:
        `failed` in class `FloodOnlySearchJob`

    - #### getName

          public String getName()

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

    - #### runJob

          public void runJob()

      Description copied from class: `FloodSearchJob`
      Deprecated, unused, see FOSJ override
      Specified by:
        `runJob` in interface `Job`
      Overrides:
        `runJob` in class `FloodOnlySearchJob`

    - #### shouldProcessDSRM

          public boolean shouldProcessDSRM()

      Overrides:
        `shouldProcessDSRM` in class `FloodOnlySearchJob`

    - #### success

          void success()

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