package net.i2p.router.networkdb.kademlia;
import net.i2p.data.Hash;
import net.i2p.router.JobImpl;
import net.i2p.router.RouterContext;
/**
* This is the timeout for a single lookup, not for the whole search.
* It is called every time, it is not cancelled after the search succeeds
* or the peer replies with a DSRM. We rely on ISJ.failed(peer) to
* decide whether or not it actually timed out.
*
* @since 0.8.9
*/
class IterativeTimeoutJob extends JobImpl {
private final IterativeSearchJob _search;
private final Hash _peer;
public IterativeTimeoutJob(RouterContext ctx, Hash peer, IterativeSearchJob job) {
super(ctx);
_peer = peer;
_search = job;
}
public void runJob() {
_search.failed(_peer, true);
}
public String getName() { return "Iterative search timeout"; }
}