See: Description
| Class | Description |
|---|---|
| AliasedTunnelPool |
A tunnel pool with its own settings and Destination,
but uses another pool for its tunnels.
|
| BuildExecutor |
Single threaded controller of the tunnel creation process, spanning all tunnel pools.
|
| BuildHandler |
Handle the received tunnel build message requests and replies,
including sending responses and updating tunnel lists.
|
| BuildMessageGenerator |
Fill in the encrypted BuildRequestRecords in a TunnelBuildMessage
|
| BuildMessageProcessor |
Receive the build message at a certain hop, decrypt its encrypted record,
read the enclosed tunnel request, decide how to reply, write the reply,
encrypt the reply record, and return a TunnelBuildMessage to forward on to
the next hop.
|
| BuildReplyHandler |
Decrypt the layers of a tunnel build reply message, determining whether the individual
hops agreed to participate in the tunnel, or if not, why not.
|
| BuildReplyHandler.Result |
This contains the result of decrypting the build request
or reply record, including the decrypted properties field,
if present.
|
| BuildRequestor |
Utility class for creating and dispatching tunnel build request messages.
|
| ClientPeerSelector |
Pick peers randomly out of the fast pool, and put them into tunnels
ordered by XOR distance from a random key.
|
| ConnectChecker |
Tools to check transport compatibility.
|
| ExcluderBase |
A Set of Hashes that automatically adds to the
Set in the contains() check.
|
| ExpireJob |
Handles tunnel expiration in two phases for graceful shutdown.
|
| ExpireJobManager |
Manager for batching tunnel expirations to reduce job queue overhead.
|
| ExploratoryPeerSelector |
Pick peers randomly out of the not-failing pool, and put them into a tunnel
ordered by XOR distance from a random key.
|
| GhostPeerManager |
Tracks routers that consistently fail to respond to tunnel build requests
and temporarily excludes them from tunnel selection during network stress.
|
| IdleTunnelMonitor |
Monitors transit tunnels for idle/abusive behavior and detects Sybil attacks.
|
| ParticipatingThrottler |
Count how often we have accepted a tunnel with the peer as the previous or next hop.
|
| PooledTunnelCreatorConfig |
Data about a tunnel we created
|
| RequestThrottler |
Throttles incoming tunnel requests earlier than ParticipatingThrottler,
with higher limits and more frequent cleanup.
|
| TestJob |
Repeatedly tests a single tunnel for its lifetime to ensure it remains functional.
|
| TunnelPeerSelector |
Coordinate the selection of peers to go into a tunnel for one particular pool.
|
| TunnelPool |
A group of tunnels for the router or a particular client, in a single direction.
|
| TunnelPoolManager |
Manage all the exploratory and client tunnel pools.
|
| Enum | Description |
|---|---|
| BuildExecutor.Result |
Build result enumeration.
|
| ParticipatingThrottler.Result |
Result of throttling decision for tunnel participation requests.
|
Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
This package provides:
Manages the lifecycle of tunnel pools, handling build requests based on local statistics and network conditions. Implements intelligent peer selection to optimize tunnel performance and anonymity.