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. |
| 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 behavior. |
| 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: