Packages that use net.i2p.router.tunnel.pool
Package
Description
The I2P router application handles I2P network communication.
Simplified fake implementations of router interfaces (comm system and friends) for testing and embedded builds.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Helpers and handlers for the router console user interface, packaged in routerconsole.war and accessible only from JSP files.
- Classes in net.i2p.router.tunnel.pool used by net.i2p.routerClassDescriptionTemporarily excludes unresponsive peers from tunnel build selection.A group of tunnels for the router or a particular client, in a single direction.
- Classes in net.i2p.router.tunnel.pool used by net.i2p.router.dummyClassDescriptionTemporarily excludes unresponsive peers from tunnel build selection.A group of tunnels for the router or a particular client, in a single direction.
- Classes in net.i2p.router.tunnel.pool used by net.i2p.router.networkdb.kademlia
- Classes in net.i2p.router.tunnel.pool used by net.i2p.router.tunnel.poolClassDescriptionSingle threaded controller of the tunnel creation process, spanning all tunnel pools.Immutable result of
BuildExecutor.countExpiryBuckets(List, long).Build result enumeration.Handle the received tunnel build message requests and replies, including sending responses and updating tunnel lists.Replies for inbound tunnels we have created.Normal inbound requests from other people.Replies for outbound tunnels that we have created.Which of the exploratory tunnels are up.A pending lookup request waiting for a concurrent lookup slot.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.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.This contains the result of decrypting the build request or reply record, including the decrypted properties field, if present.Excluder + exclusion counts gathered once per selectPeers() call; exclude is wrapped by the hop helpers.Immutable selection parameters computed once perClientPeerSelector.selectPeers(TunnelPoolSettings)call.Tools to check transport compatibility.A Set of Hashes that automatically adds to the Set in theExcluderBase.contains(Object)check.One tunnel tracked for expiration.Temporarily excludes unresponsive peers from tunnel build selection.Counts captured at one point in time.One ghost mark: exclusion expiry (snapshotted at mark time), the repeat offense count that produced it, and when it was written so the count can decay.Monitors transit tunnels for idle behavior.Count how often we have accepted a tunnel with the peer as the previous or next hop.Result of throttling decision for tunnel participation requests.Data about a tunnel we created.Throttles incoming tunnel requests earlier than ParticipatingThrottler, with higher limits and more frequent cleanup.Tracks burst offense history for escalation.Sliding window counter for burst detection.Repeatedly tests a single tunnel for its lifetime to ensure it remains functional.Runtime state owned by a single router context: the first-test buffer and its pump flag, the instance and in-flight gauges, and the running-test map.Why a round was refused its in-flight permits.The instance slots one TestJob owns: the total counter (memory bound), the per-pool claim, and the running-test registration.A first-test candidate waiting in the batch buffer.Identity of one dispatched test round: the generation it belongs to, the pool it counts against, the deadline it expires at, and the release switches for the permits it reserved.Coordinate the selection of peers to go into a tunnel for one particular pool.One cached gateway or endpoint decision.Excluder that automatically adds peers to the set when they should be excluded.What a pre-connect probe actually achieved.A group of tunnels for the router or a particular client, in a single direction.Selected tunnels for a LeaseSet build: the quality-sorted GOOD (or fallback UNTESTED) tunnels and the single best zero-hop tunnel.Why a pool could not supply a tunnel, as counts rather than prose.Result of a pool scan: the chosen tunnel (or null), the backlogged fallback candidate, and the recorded last-resort tunnel.Why a tunnel's local transport session was lost.Counts of tunnel states gathered in one sweep of the pool.Manage all the exploratory and client tunnel pools.Conditionally start the outbound pool after the inbound pool has at least one tunnel.Delayed cleanup task for pool removal. - Classes in net.i2p.router.tunnel.pool used by net.i2p.router.web.helpersClassDescriptionA group of tunnels for the router or a particular client, in a single direction.