## net.i2p.router.networkdb.kademlia
Class HandleFloodfillDatabaseLookupMessageJob

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

All Implemented Interfaces:
  Job

    public class HandleFloodfillDatabaseLookupMessageJob

extends HandleDatabaseLookupMessageJob

Handle a lookup for a key received from a remote peer. Needs to be implemented to send back replies, etc

Field Summary

Fields inherited from class net.i2p.router.networkdb.HandleDatabaseLookupMessageJob
`DEFAULT_PUBLISH_UNREACHABLE, EXPIRE_DELAY, PROP_PUBLISH_UNREACHABLE`

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

Method Summary
`protected boolean` `answerAllQueries()`
`protected void` `sendClosest(Hash key, Set<Hash> routerInfoSet, Hash toPeer, TunnelId replyTunnel)` We extend this here to send our routerInfo back as well, if we are not floodfill.

Methods inherited from class net.i2p.router.networkdb.HandleDatabaseLookupMessageJob
`dropped, getName, runJob, sendMessage`

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`

Constructor Detail

### HandleFloodfillDatabaseLookupMessageJob

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

Method Detail

### answerAllQueries

    protected boolean answerAllQueries()

  Overrides:
    `answerAllQueries` in class `HandleDatabaseLookupMessageJob`
  Returns:
    are we floodfill We don't really answer all queries if this is true, since floodfills don't have the whole keyspace any more, see ../HTLMJ for discussion

### sendClosest

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

  We extend this here to send our routerInfo back as well, if we are not floodfill. This gets the word out to routers that we are no longer floodfill, so they will stop bugging us.

  Overrides:
    `sendClosest` in class `HandleDatabaseLookupMessageJob`