java.lang.Object
net.i2p.router.JobImpl
net.i2p.router.networkdb.kademlia.SingleLookupJob
- All Implemented Interfaces:
Job
Performs targeted followup lookups for RouterInfo entries from search replies.
Processes RouterInfo hashes received in DatabaseSearchReplyMessage by initiating direct queries to obtain missing or stale RouterInfo data. For each unknown peer, queries the peer that provided the hash; for known peers with outdated data or non-floodfill status, queries the peer directly to refresh the information.
This lightweight version of SearchReplyJob focuses specifically on RouterInfo acquisition without profile management overhead. Designed for efficient network integration and floodfill peer discovery.
Limits concurrent followup operations based on system performance to prevent resource exhaustion during high-volume search responses.
Field Summary
Modifier and TypeFieldDescriptionprivate final DatabaseSearchReplyMessageThe search reply being processed.static final intI2NP spec allows 255, max actually sent (in ../HDLMJ) is 3, so just to prevent trouble, we don't want to queue 255 jobs at once.Constructor Summary
ConstructorsConstructorDescriptionStores the reply whose router hashes this job will look up.Method Summary
All MethodsMethods inherited from class JobImpl
dropped, getContext, getJobId, getMadeReadyOn, getTiming, madeReady, requeue, toStringModifier and TypeMethodDescriptionvoiddropped()Default implementation does nothing.final RouterContextThe router context that this job belongs to.longgetJobId()The unique job ID for this job.longThe timestamp when this job was last made ready for execution.The timing object for this job.voidmadeReady(long now) For JobQueue only, not for external use.protected voidrequeue(long delayMs) Requeue this job to run after the specified delay.toString()
Field Details
_dsrm
The search reply being processed.MAX_TO_FOLLOW
public static final int MAX_TO_FOLLOWI2NP spec allows 255, max actually sent (in ../HDLMJ) is 3, so just to prevent trouble, we don't want to queue 255 jobs at once.
Constructor Details
SingleLookupJob
Stores the reply whose router hashes this job will look up.- Parameters:
ctx- the router contextdsrm- the search reply naming the router hashes to follow up on
Method Details
runJob
public void runJob()Kick off single searches for the peers referenced in the reply.getName