net.i2p.router.networkdb
Class HandleDatabaseLookupMessageJob

java.lang.Object
  extended by net.i2p.router.JobImpl
      extended by 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 java.lang.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.
 java.lang.String getName()
          Descriptive name of the task
 void runJob()
          Actually perform the task.
protected  void sendClosest(Hash key, java.util.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 java.lang.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,
                           java.util.Set<Hash> routerHashes,
                           Hash toPeer,
                           TunnelId replyTunnel)

sendMessage

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

getName

public java.lang.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