Uses of Interface
net.i2p.router.Job
-
Packages that use Job Package Description net.i2p.router The I2P router application handles the I2P network communication.net.i2p.router.client Implements the router side of the I2CP interface, which is the API for applications to send and receive data through the router.net.i2p.router.dummy Dummy versions of things for testing.net.i2p.router.message Creates and parses garlic messages.net.i2p.router.networkdb A couple of classes, but most things are in kademlia.net.i2p.router.networkdb.kademlia The network database, including implementation of floodfills.net.i2p.router.peermanager The peer manager logs information about the history and quality of network peers.net.i2p.router.startup The I2P startup package loads the configuration when I2P is started.net.i2p.router.sybil Classes to run offline Sybil analysis, and to store and load the results.net.i2p.router.tasks Miscellaneous classes, mostly things that are executed periodically as Jobs, Threads, and SimpleTimer.TimedEvents.net.i2p.router.transport The transport system allows the usage of communication layers that are below I2P in the stack, on which I2P messages are sent.net.i2p.router.tunnel.pool Tunnel creation, tunnel build message handling. -
-
Uses of Job in net.i2p.router
Subinterfaces of Job in net.i2p.router Modifier and Type Interface Description interface
ReplyJob
Defines an executable task that can be fired off in reply to a messageClasses in net.i2p.router that implement Job Modifier and Type Class Description class
JobImpl
Base implementation of a Job For use by the router only.Methods in net.i2p.router that return Job Modifier and Type Method Description Job
HandlerJobBuilder. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
Create a new job to handle the received message.Job
JobQueueRunner. getCurrentJob()
Job
JobQueue. getLastJob()
retrieve the most recently begin and still currently active job, or null if no jobs are runningJob
JobQueueRunner. getLastJob()
(package private) Job
JobQueue. getNext()
Blocking call to retrieve the next ready jobJob
OutNetMessage. getOnFailedReplyJob()
If the Message selector is specified but it doesn't find a reply before its expiration passes, this job is enqueued.Job
OutNetMessage. getOnFailedSendJob()
If the router could not be reached or the expiration passed, this job is enqueued.Job
OutNetMessage. getOnSendJob()
After the message is successfully passed to the router specified, the given job is enqueued.Methods in net.i2p.router with parameters of type Job Modifier and Type Method Description void
JobQueue. addJob(Job job)
Enqueue the specified jobboolean
JobQueue. isJobActive(Job job)
Deprecated.unusedabstract void
NetworkDatabaseFacade. lookupDestination(Hash key, Job onFinishedJob, long timeoutMs, Hash fromLocalDest)
Lookup using the client's tunnels Succeeds even if LS validation fails due to unsupported sig typeabstract void
NetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
abstract void
NetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
Lookup using the client's tunnelsabstract void
NetworkDatabaseFacade. lookupLeaseSetRemotely(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
Unconditionally lookup using the client's tunnels.abstract void
NetworkDatabaseFacade. lookupRouterInfo(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
void
JobQueue. removeJob(Job job)
abstract void
ClientManagerFacade. requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)
Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.void
OutNetMessage. setOnFailedReplyJob(Job job)
void
OutNetMessage. setOnFailedSendJob(Job job)
void
OutNetMessage. setOnSendJob(Job job)
(package private) void
JobQueue. updateStats(Job job, long doStart, long origStartAfter, long duration)
calculate and update the job timings if it was lagged too much or took too long to run, spit out a warning (and if its really excessive, kill the router)Method parameters in net.i2p.router with type arguments of type Job Modifier and Type Method Description int
JobQueue. getJobs(Collection<Job> readyJobs, Collection<Job> timedJobs, Collection<Job> activeJobs, Collection<Job> justFinishedJobs)
Dump the current state. -
Uses of Job in net.i2p.router.client
Classes in net.i2p.router.client that implement Job Modifier and Type Class Description (package private) class
CreateSessionJob
Given an established connection, walk through the process of establishing the lease set.(package private) class
LookupDestJob
Look up the lease of a hash, to convert it to a Destination for the client.(package private) class
MessageReceivedJob
Async job to notify the client that a new message is available for them, or just send it directly if specified.(package private) class
ReportAbuseJob
Async job to send an abuse message to the client(package private) class
RequestLeaseSetJob
Async job to walk the client through generating a lease set.Methods in net.i2p.router.client that return Job Modifier and Type Method Description Job
LeaseRequestState. getOnFailed()
what to do if the lease set create fails / times outJob
LeaseRequestState. getOnGranted()
what to do once the lease set is createdMethods in net.i2p.router.client with parameters of type Job Modifier and Type Method Description (package private) void
ClientConnectionRunner. requestLeaseSet(Hash h, LeaseSet set, long expirationTime, Job onCreateJob, Job onFailedJob)
Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.void
ClientManager. requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)
Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.void
ClientManagerFacadeImpl. requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)
Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.Constructors in net.i2p.router.client with parameters of type Job Constructor Description LeaseRequestState(Job onGranted, Job onFailed, long currentEarliestLeastDate, long expiration, LeaseSet requested)
-
Uses of Job in net.i2p.router.dummy
Methods in net.i2p.router.dummy with parameters of type Job Modifier and Type Method Description void
DummyNetworkDatabaseFacade. lookupDestination(Hash key, Job onFinishedJob, long timeoutMs, Hash fromLocalDest)
void
DummyNetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
void
DummyNetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
void
DummyNetworkDatabaseFacade. lookupLeaseSetRemotely(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
void
DummyNetworkDatabaseFacade. lookupRouterInfo(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
void
DummyClientManagerFacade. requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)
-
Uses of Job in net.i2p.router.message
Classes in net.i2p.router.message that implement Job Modifier and Type Class Description class
HandleGarlicMessageJob
Unencrypt a garlic message and handle each of the cloves - locally destined messages are tossed into the inbound network message pool so they're handled as if they arrived locally.class
OutboundClientMessageOneShotJob
Send a client message out an outbound tunnel and into an inbound tunnel on the target leaseSet.class
SendMessageDirectJob
Send a message directly to another router, i.e.Methods in net.i2p.router.message that return Job Modifier and Type Method Description Job
GarlicMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
Constructors in net.i2p.router.message with parameters of type Job Constructor Description SendMessageDirectJob(RouterContext ctx, I2NPMessage message, Hash toPeer, Job onSend, ReplyJob onSuccess, Job onFail, MessageSelector selector, int timeoutMs, int priority)
SendMessageDirectJob(RouterContext ctx, I2NPMessage message, Hash toPeer, ReplyJob onSuccess, Job onFail, MessageSelector selector, int timeoutMs, int priority)
-
Uses of Job in net.i2p.router.networkdb
Classes in net.i2p.router.networkdb that implement Job Modifier and Type Class Description class
HandleDatabaseLookupMessageJob
Handle a lookup for a key received from a remote peer.class
PublishLocalRouterInfoJob
Publish the local router's RouterInfo periodically. -
Uses of Job in net.i2p.router.networkdb.kademlia
Classes in net.i2p.router.networkdb.kademlia that implement Job Modifier and Type Class Description (package private) class
ExpireLeasesJob
Periodically search through all leases to find expired ones, failing those keys and firing up a new search for each (in case we want it later, might as well preemptively fetch it)(package private) class
ExpireRoutersJob
Go through the routing table pick routers that are is out of date, but don't expire routers we're actively connected to.(package private) class
ExploreJob
Search for a particular key iteratively until we either find a value, we run out of peers, or the bucket the key belongs in has sufficient values in it.(package private) class
ExploreKeySelectorJob
Deprecated.unused, see comments in KNDF(package private) class
FloodfillMonitorJob
Simple job to monitor the floodfill pool.(package private) class
FloodfillRouterInfoFloodJob
Job to flood nearby floodfill routers with our RI.(package private) class
FloodfillStoreJob
This extends StoreJob to fire off a FloodfillVerifyStoreJob after success.(package private) class
FloodfillVerifyStoreJob
Send a netDb lookup to a floodfill peer - If it is found, great, but if they reply back saying they dont know it, queue up a store of the key to a random floodfill peer again (via FloodfillStoreJob)(package private) class
FloodOnlyLookupMatchJob
(package private) class
FloodOnlyLookupTimeoutJob
This is the timeout for the whole search.(package private) class
FloodOnlySearchJob
Uunused directly, replaced by IterativeSearchJob, but still extended by SingleSearchJob.(package private) class
FloodSearchJob
Try sending a search to some floodfill peers, but if we don't get a successful match within half the allowed lookup time, give up and start querying through the normal (kademlia) channels.class
HandleFloodfillDatabaseLookupMessageJob
Handle a lookup for a key received from a remote peer.(package private) class
HandleFloodfillDatabaseStoreMessageJob
Receive DatabaseStoreMessage data and store it in the local net db(package private) class
IterativeFollowupJob
Ask a single peer for a single key.(package private) class
IterativeLookupJob
Ask the peer who sent us the DSRM for the RouterInfos...class
IterativeSearchJob
A traditional Kademlia search that continues to search when the initial lookup fails, by iteratively searching the closer-to-the-key peers returned by the query in a DSRM.(package private) class
IterativeTimeoutJob
This is the timeout for a single lookup, not for the whole search.(package private) class
RefreshRoutersJob
Go through all the routers once, after startup, and refetch their router infos.(package private) class
RepublishLeaseSetJob
Run periodically for each locally created leaseSet to cause it to be republished if the client is still connected.(package private) class
SearchJob
Search for a particular key iteratively until we either find a value or we run out of peers Note that this is rarely if ever used directly, and is primary used by the ExploreJob extension.protected class
SearchJob.FailedJob
Called when a particular peer failed to respond before the timeout was reached, or if the peer could not be contacted at all.(package private) class
SearchReplyJob
(package private) class
SearchUpdateReplyFoundJob
Called after a match to a db search is found Used only by SearchJob which is only used by ExploreJob(package private) class
SingleLookupJob
Ask the peer who sent us the DSRM for the RouterInfos...(package private) class
SingleSearchJob
Ask a single peer for a single key.(package private) class
StartExplorersJob
Fire off search jobs for random keys from the explore pool, up to MAX_PER_RUN at a time.(package private) class
StoreJob
Stores through this always request a reply.Fields in net.i2p.router.networkdb.kademlia declared as Job Modifier and Type Field Description protected Job
FloodOnlySearchJob. _onTimeout
Fields in net.i2p.router.networkdb.kademlia with type parameters of type Job Modifier and Type Field Description protected List<Job>
FloodSearchJob. _onFailed
protected List<Job>
FloodSearchJob. _onFind
Methods in net.i2p.router.networkdb.kademlia that return Job Modifier and Type Method Description Job
FloodfillDatabaseLookupMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
Job
FloodfillDatabaseStoreMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
Methods in net.i2p.router.networkdb.kademlia with parameters of type Job Modifier and Type Method Description (package private) void
FloodSearchJob. addDeferred(Job onFind, Job onFailed, long timeoutMs, boolean isLease)
Add jobs to an existing searchint
SearchJob. addDeferred(Job onFind, Job onFail, long expiration, boolean isLease)
void
KademliaNetworkDatabaseFacade. lookupDestination(Hash key, Job onFinishedJob, long timeoutMs, Hash fromLocalDest)
Lookup using the client's tunnels Succeeds even if LS validation and store fails due to unsupported sig type, expired, etc.void
KademliaNetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
Lookup using exploratory tunnels.void
KademliaNetworkDatabaseFacade. lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
Lookup using the client's tunnels Use lookupDestination() if you don't need the LS or don't need it validated.void
KademliaNetworkDatabaseFacade. lookupLeaseSetRemotely(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, Hash fromLocalDest)
Unconditionally lookup using the client's tunnels.void
KademliaNetworkDatabaseFacade. lookupRouterInfo(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)
(package private) SearchJob
FloodfillNetworkDatabaseFacade. search(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, boolean isLease)
Lookup using exploratory tunnels.(package private) SearchJob
FloodfillNetworkDatabaseFacade. search(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, boolean isLease, Hash fromLocalDest)
Lookup using the client's tunnels.(package private) SearchJob
KademliaNetworkDatabaseFacade. search(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, boolean isLease)
Begin a kademlia style search for the key specified, which can take up to timeoutMs and will fire the appropriate jobs on success or timeout (or if the kademlia search completes without any match) Unused - called only by FNDF.searchFull() from FloodSearchJob which is overridden - don't use this.(package private) SearchJob
KademliaNetworkDatabaseFacade. search(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs, boolean isLease, Hash fromLocalDest)
Unused - see FNDFvoid
FloodfillNetworkDatabaseFacade. sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore)
abstract void
KademliaNetworkDatabaseFacade. sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore)
unused (overridden in FNDF)Constructors in net.i2p.router.networkdb.kademlia with parameters of type Job Constructor Description FloodfillStoreJob(RouterContext context, FloodfillNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs)
Send a data structure to the floodfillsFloodfillStoreJob(RouterContext context, FloodfillNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs, Set<Hash> toSkip)
FloodOnlySearchJob(RouterContext ctx, FloodfillNetworkDatabaseFacade facade, Hash key, Job onFind, Job onFailed, int timeoutMs, boolean isLease)
FloodSearchJob(RouterContext ctx, FloodfillNetworkDatabaseFacade facade, Hash key, Job onFind, Job onFailed, int timeoutMs, boolean isLease)
IterativeSearchJob(RouterContext ctx, FloodfillNetworkDatabaseFacade facade, Hash key, Job onFind, Job onFailed, int timeoutMs, boolean isLease)
Lookup using exploratory tunnelsIterativeSearchJob(RouterContext ctx, FloodfillNetworkDatabaseFacade facade, Hash key, Job onFind, Job onFailed, int timeoutMs, boolean isLease, Hash fromLocalDest)
Lookup using the client's tunnels.SearchJob(RouterContext context, KademliaNetworkDatabaseFacade facade, Hash key, Job onSuccess, Job onFailure, long timeoutMs, boolean keepStats, boolean isLease)
Create a new search for the routingKey specifiedStoreJob(RouterContext context, KademliaNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs)
Send a data structure to the floodfillsStoreJob(RouterContext context, KademliaNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs, Set<Hash> toSkip)
-
Uses of Job in net.i2p.router.peermanager
Classes in net.i2p.router.peermanager that implement Job Modifier and Type Class Description (package private) class
PeerTestJob
Grab some peers that we want to test and probe them briefly to get some more accurate and up to date performance data. -
Uses of Job in net.i2p.router.startup
Classes in net.i2p.router.startup that implement Job Modifier and Type Class Description (package private) class
BootCommSystemJob
This actually boots almost everything(package private) class
BootNetworkDbJob
start up the network database(package private) class
BootPeerManagerJob
start up the peer manager(package private) class
BuildTrustedLinksJob
For future restricted routes.class
CreateRouterInfoJob
Warning - misnamed.class
LoadClientAppsJob
Run any client applications specified in clients.config.(package private) class
LoadRouterInfoJob
Run once or twice at startup by StartupJob, and then runs BootCommSystemJob(package private) class
RebuildRouterInfoJob
This used be called from StartAcceptingClientsJob but is now disabled.(package private) class
StartAcceptingClientsJob
start I2CP interfaceclass
StartupJob
The StartupJob should be run once on router startup to initialize the system and set things in motion.Constructors in net.i2p.router.startup with parameters of type Job Constructor Description BuildTrustedLinksJob(RouterContext context, Job next)
CreateRouterInfoJob(RouterContext ctx, Job next)
-
Uses of Job in net.i2p.router.sybil
Classes in net.i2p.router.sybil that implement Job Modifier and Type Class Description class
Analysis
-
Uses of Job in net.i2p.router.tasks
Classes in net.i2p.router.tasks that implement Job Modifier and Type Class Description class
PersistRouterInfoJob
Update the router.info file whenever its, er, updatedclass
ReadConfigJob
Simply read the router config periodically, so that the user may make config changes externally.class
UpdateRoutingKeyModifierJob
Update the routing Key modifier every day at midnight (plus on startup). -
Uses of Job in net.i2p.router.transport
Classes in net.i2p.router.transport that implement Job Modifier and Type Class Description (package private) class
GetBidsJob
Retrieve a set of bids for a particular outbound message, and if any are found that meet the message's requirements, register the message as in process and pass it on to the transport for processingMethods in net.i2p.router.transport with parameters of type Job Modifier and Type Method Description OutNetMessage
OutboundMessageRegistry. registerPending(MessageSelector replySelector, ReplyJob onReply, Job onTimeout)
Registers a new, empty OutNetMessage, with the reply and timeout jobs specified. -
Uses of Job in net.i2p.router.tunnel.pool
Classes in net.i2p.router.tunnel.pool that implement Job Modifier and Type Class Description (package private) class
ExpireJob
This runs twice for each tunnel.(package private) class
TestJob
Repeatedly test a single tunnel for its entire lifetime, or until the pool is shut down or removed from the client manager.
-