| Package | Description |
|---|---|
| net.i2p.router.client |
Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration.
|
| net.i2p.router.message |
Garlic message creation, parsing, and source routing for I2P communications.
|
| net.i2p.router.networkdb |
Network database management and coordination for the I2P distributed hash table.
|
| net.i2p.router.networkdb.kademlia |
Kademlia DHT implementation and floodfill router functionality for I2P.
|
| net.i2p.router.peermanager |
Peer management, profiling, and capacity calculation for I2P network optimization.
|
| net.i2p.router.startup |
The I2P startup package loads configuration when I2P is started.
|
| net.i2p.router.sybil |
Offline analysis tools for detecting Sybil attacks and malicious peer
coordination in the I2P network.
|
| net.i2p.router.tasks |
Periodic maintenance tasks and background jobs for I2P router operations.
|
| net.i2p.router.transport |
Transport layer implementations and management for I2P network communication.
|
| net.i2p.router.tunnel.pool |
Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
|
| net.i2p.router.web.helpers |
Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war.
|
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
CreateSessionJob
Given an established connection, walk through the process of establishing the
leaseset.
|
(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
Job to handle an inbound GarlicMessage received outside of a tunnel.
|
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 |
DirectLookupJob
Ask a connected peer for his RI.
|
(package private) class |
DirectLookupMatchJob
Override to not call failed() in setMessage(),
as it will be called from runJob()
|
(package private) class |
ExpireLeasesJob
Periodically searches 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
out of date, but don't expire routers we're actively connected to.
|
class |
ExploreJob
Represents an exploratory search job for a particular key in the Kademlia network database.
|
(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 class extends StoreJob to fire off a FloodfillVerifyStoreJob after a successful store.
|
(package private) class |
FloodfillVerifyStoreJob
Send a netDb lookup to a floodfill peer - If it is found, great, but if they reply back saying
they don't know it, queue up a store of the key to a random floodfill peer again (via FloodfillStoreJob)
|
(package private) class |
FloodOnlyLookupMatchJob
Handles match processing for flood-only search operations.
|
(package private) class |
FloodOnlyLookupTimeoutJob
Timeout handler for flood-only search operations.
|
(package private) class |
FloodOnlySearchJob
Flood-only search implementation for network database lookups.
|
(package private) class |
FloodSearchJob
Base class for flood-based search operations with fallback to Kademlia.
|
class |
HandleFloodfillDatabaseLookupMessageJob
Processes database lookup messages received by floodfill routers.
|
(package private) class |
HandleFloodfillDatabaseStoreMessageJob
Processes and stores DatabaseStoreMessage data in the floodfill network database.
|
(package private) class |
IterativeFollowupJob
Performs targeted followup lookups during iterative search operations.
|
(package private) class |
IterativeLookupJob
Processes DatabaseSearchReplyMessage responses during iterative searches.
|
class |
IterativeSearchJob
Traditional Kademlia iterative search with enhanced robustness.
|
(package private) class |
IterativeTimeoutJob
Handles timeout events for individual peer lookups in iterative searches.
|
(package private) class |
RefreshRoutersJob
RefreshRoutersJob performs router info refresh operations periodically.
|
class |
RepublishLeaseSetJob
A job that periodically republishes a local LeaseSet to the network database.
|
(package private) class |
SearchJob
Base class for iterative network database search operations.
|
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
Processes DatabaseSearchReplyMessage responses from floodfill peers.
|
(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
Performs targeted followup lookups for RouterInfo entries from search replies.
|
(package private) class |
SingleSearchJob
Performs a targeted lookup to a single peer for a specific key.
|
(package private) class |
StartExplorersJob
This job initiates exploration of the network database by selecting keys to explore
and queuing ExploreJobs up to a maximum per run.
|
(package private) class |
StoreJob
Abstract base class for network database store operations.
|
| Modifier and Type | Class and Description |
|---|---|
class |
PeerTestJob
Periodically tests selected peers to gather real-time performance data and update peer profiles.
|
| 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 |
Analysis
Sybil attack analysis implementation.
|
| Modifier and Type | Class and Description |
|---|---|
class |
PersistRouterInfoJob
Router information persistence and synchronization job.
|
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
Retrieves transport bids for outbound message delivery.
|
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
ExpireJob
Handles tunnel expiration in two phases for graceful shutdown.
|
class |
ExpireJobManager
Manager for batching tunnel expirations to reduce job queue overhead.
|
class |
TestJob
Repeatedly tests a single tunnel for its lifetime to ensure it remains functional.
|
| Modifier and Type | Class and Description |
|---|---|
class |
NetDbCachingJob
A caching job that periodically performs:
- Reverse DNS precaching for known routers
- Introducer precaching for known routers
Ensures:
- Only one instance is ever scheduled.
|