Package | Description |
---|---|
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.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.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.
|
Modifier and Type | Class and 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.
|
Modifier and Type | Class and 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.
|
Modifier and Type | Class and Description |
---|---|
class |
HandleDatabaseLookupMessageJob
Handle a lookup for a key received from a remote peer.
|
class |
PublishLocalRouterInfoJob
Publish the local router's RouterInfo periodically.
|
Modifier and Type | Class and 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.
|
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.
|
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...
|
(package private) 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.
|
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.
|
Modifier and Type | Class and Description |
---|---|
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.
|
Modifier and Type | Class and 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 interface
|
class |
StartupJob
The StartupJob should be run once on router startup to initialize the system
and set things in motion.
|
Modifier and Type | Class and Description |
---|---|
class |
PersistRouterInfoJob
Update the router.info file whenever its, er, updated
|
class |
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).
|
Modifier and Type | Class and 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 processing
|
Modifier and Type | Class and 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.
|