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

     class SingleSearchJob

extends FloodOnlySearchJob

Ask a single peer for a single key. This isn't really a flood-only search job at all, but we extend FloodOnlySearchJob so we can use the same selectors, etc.

Field Summary
`(package private) OutNetMessage` `_onm`
`(package private) Hash` `_to`

Fields inherited from class net.i2p.router.networkdb.kademlia.FloodOnlySearchJob
`_onReply, _onTimeout, _replySelector`

Fields inherited from class net.i2p.router.networkdb.kademlia.FloodSearchJob
`_expiration, _facade, _isLease, _key, _log, _lookupsRemaining, _onFailed, _onFind, _origExpiration, _timeoutMs`

Constructor Summary
`SingleSearchJob(RouterContext ctx, Hash key, Hash to)`

Method Summary
`(package private) void` `failed()`
`String` `getName()` Descriptive name of the task
`void` `runJob()` Actually perform the task.
`boolean` `shouldProcessDSRM()`
`(package private) void` `success()`

Methods inherited from class net.i2p.router.networkdb.kademlia.FloodOnlySearchJob
`decrementRemaining, getCreated`

Methods inherited from class net.i2p.router.networkdb.kademlia.FloodSearchJob
`addDeferred, decrementRemaining, getExpiration, getKey, getLookupsRemaining`

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`

Field Detail

### _to

    Hash _to

### _onm

    OutNetMessage _onm

Constructor Detail

### SingleSearchJob

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

Method Detail

### getName

    public String getName()

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

  Specified by:
    `getName` in interface `Job`
  Overrides:
    `getName` in class `FloodOnlySearchJob`

### shouldProcessDSRM

    public boolean shouldProcessDSRM()

  Overrides:
    `shouldProcessDSRM` in class `FloodOnlySearchJob`

### runJob

    public void runJob()

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

  Specified by:
    `runJob` in interface `Job`
  Overrides:
    `runJob` in class `FloodOnlySearchJob`

### failed

    void failed()

  Overrides:
    `failed` in class `FloodOnlySearchJob`

### success

    void success()

  Overrides:
    `success` in class `FloodOnlySearchJob`