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

    Constructors
    Constructor and Description
    `HandleFloodfillDatabaseLookupMessageJob(RouterContext ctx, DatabaseLookupMessage receivedMessage, RouterIdentity from, Hash fromHash)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`