Packages that use net.i2p.router.tunnel
Package
Description
The I2P router application handles I2P network communication.
Tunnel messages and the tunnel layer: the
TunnelManagerFacade, tunnel build request and reply processing, and the inbound and outbound tunnel structures. 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 used by net.i2p.routerClassDescriptionChooses the filter exponent from measured load and the heap budget.Defines the general configuration for a hop in a tunnel.Handle the actual processing and forwarding of messages through the various tunnels.
- Classes in net.i2p.router.tunnel used by net.i2p.router.tunnelClassDescriptionBatching preprocessor that will briefly delay the sending of a message if it doesn't fill up a full tunnel message, in which case it queues up an additional flush task.Manage the IV validation for all of the router's tunnels by way of a big decaying bloom filter.Chooses the filter exponent from measured load and the heap budget.IV validator that accepts all initialization vectors without validation.Gather fragments of I2NPMessages at a tunnel endpoint, making them available for reading when complete.Handle fragments at the endpoint of a tunnel, peeling off fully completed I2NPMessages when they arrive, and dropping fragments if they take too long to arrive.Receive messages out of the tunnel endpoint.Defines the general configuration for a hop in a tunnel.Take a received tunnel message, verify that it isn't a duplicate, and translate it into what the next hop will want.Receive the inbound tunnel message, removing all of the layers added by earlier hops to recover the preprocessed data sent by the gateway.Override the hop processor to seed the message with a random IV.When a message arrives at the inbound tunnel endpoint, this distributor honors the instructions (safely).Provide a generic interface for IV validation which may be implemented through something as simple as a hashtable or more a complicated bloom filter.Turn the preprocessed tunnel data into something that can be delivered to the first hop in the tunnel.When a message arrives at the outbound tunnel endpoint, this distributor honors the instructions.We are the end of an outbound tunnel that we did not create.Stores all the state for an unsent or partially-sent message.This class represents a tunnel gateway with multiple hops that accepts messages, then coalesces and fragments them before sending them down the tunnel.Accumulates samples of a mean rate stat and emits one
addRateDataper flush, so a hot path that samples a level once per message or per 1KB fragment pays one stat lookup and one monitor per rate period instead of one per sample.Do the simplest thing possible for preprocessing - for each message available, turn it into the minimum number of fragmented preprocessed blocks, sending each of those out.Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration isWhy a tunnel that would normally be dropped by the early-expiry gate was instead admitted for one last-chance test.Job removing hops from a tunnel.Location in the tunnel for RED (Random Early Discard) logic.Serve as the gatekeeper for a tunnel, accepting messages, coalescing and/or fragmenting them before wrapping them up for tunnel delivery.Delayed flush timer event.Interface for preprocessing queued tunnel messages.Interface for receiving encrypted tunnel data.Interface for sending preprocessed tunnel data.TunnelGatewayPumper runs a pool of threads that process PumpedTunnelGateway instances which need messages pushed through preprocessing and sending.Participates in a tunnel at an intermediate hop (not gateway or endpoint). - Classes in net.i2p.router.tunnel used by net.i2p.router.tunnel.poolClassDescriptionDefines the general configuration for a hop in a tunnel.Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration isHandle the actual processing and forwarding of messages through the various tunnels.
- Classes in net.i2p.router.tunnel used by net.i2p.router.web.helpers