net.i2p.router.networkdb.kademlia
Class HandleFloodfillDatabaseLookupMessageJob

java.lang.Object
  extended by net.i2p.router.JobImpl
      extended by net.i2p.router.networkdb.HandleDatabaseLookupMessageJob
          extended by 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, java.util.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,
                           java.util.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