## net.i2p.router.networkdb
Class HandleDatabaseLookupMessageJob

    java.lang.Object
      net.i2p.router.JobImpl
          net.i2p.router.networkdb.HandleDatabaseLookupMessageJob

All Implemented Interfaces:
  Job

Direct Known Subclasses:
  HandleFloodfillDatabaseLookupMessageJob

    public class HandleDatabaseLookupMessageJob

extends JobImpl

Handle a lookup for a key received from a remote peer. Needs to be implemented to send back replies, etc Unused directly - see kademlia/ for extension

Field Summary
`static boolean` `DEFAULT_PUBLISH_UNREACHABLE`
`static long` `EXPIRE_DELAY` If a routerInfo structure isn't this recent, don't send it out.
`static String` `PROP_PUBLISH_UNREACHABLE`

Constructor Summary
`HandleDatabaseLookupMessageJob(RouterContext ctx, DatabaseLookupMessage receivedMessage, RouterIdentity from, Hash fromHash)`

Method Summary
`protected boolean` `answerAllQueries()`
`void` `dropped()` the router is extremely overloaded, so this job has been dropped.
`String` `getName()` Descriptive name of the task
`void` `runJob()` Actually perform the task.
`protected void` `sendClosest(Hash key, Set<Hash> routerHashes, Hash toPeer, TunnelId replyTunnel)`
`protected void` `sendMessage(I2NPMessage message, Hash toPeer, TunnelId replyTunnel)`

Methods inherited from class net.i2p.router.JobImpl
`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

### EXPIRE_DELAY

    public static final long EXPIRE_DELAY

  If a routerInfo structure isn't this recent, don't send it out. Equal to KNDF.ROUTER_INFO_EXPIRATION_FLOODFILL.

  See Also:
    Constant Field Values

### PROP_PUBLISH_UNREACHABLE

    public static final String PROP_PUBLISH_UNREACHABLE

See Also:
  Constant Field Values

### DEFAULT_PUBLISH_UNREACHABLE

    public static final boolean DEFAULT_PUBLISH_UNREACHABLE

See Also:
  Constant Field Values

Constructor Detail

### HandleDatabaseLookupMessageJob

    public HandleDatabaseLookupMessageJob(RouterContext ctx,
                                          DatabaseLookupMessage receivedMessage,
                                          RouterIdentity from,
                                          Hash fromHash)

Method Detail

### answerAllQueries

    protected boolean answerAllQueries()

### runJob

    public void runJob()

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

### sendClosest

    protected void sendClosest(Hash key,
                               Set<Hash> routerHashes,
                               Hash toPeer,
                               TunnelId replyTunnel)

### sendMessage

    protected void sendMessage(I2NPMessage message,
                               Hash toPeer,
                               TunnelId replyTunnel)

### getName

    public String getName()

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

### dropped

    public void dropped()

  Description copied from interface: `Job`
  the router is extremely overloaded, so this job has been dropped. if for some reason the job *must* do some cleanup / requeueing of other tasks, it should do so here.

  Specified by:
    `dropped` in interface `Job`
  Overrides:
    `dropped` in class `JobImpl`