## Uses of Package
net.i2p.router.tunnel

Packages that use net.i2p.router.tunnel
net.i2p.router: The I2P router application handles the I2P network communication.
net.i2p.router.tunnel
net.i2p.router.tunnel.pool

Classes in net.i2p.router.tunnel used by net.i2p.router
HopConfig Defines the general configuration for a hop in a tunnel.
TunnelDispatcher Handle the actual processing and forwarding of messages through the various tunnels.

Classes in net.i2p.router.tunnel used by net.i2p.router.tunnel
BatchedPreprocessor Batching 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.
DummyValidator accept everything
FragmentHandler 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.
FragmentHandler.DefragmentedReceiver Receive messages out of the tunnel endpoint.
HopConfig Defines the general configuration for a hop in a tunnel.
HopProcessor Take a received tunnel message, verify that it isn't a duplicate, and translate it into what the next hop will want.
InboundEndpointProcessor Receive the inbound tunnel message, removing all of the layers added by earlier hops to recover the preprocessed data sent by the gateway.
IVValidator Provide a generic interface for IV validation which may be implemented through something as simple as a hashtable or more a complicated bloom filter.
PumpedTunnelGateway This is used for all gateways with more than zero hops.
TrivialPreprocessor 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.
TunnelCreatorConfig Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration is
TunnelGateway Serve as the gatekeeper for a tunnel, accepting messages, coallescing and/or fragmenting them before wrapping them up for tunnel delivery.
TunnelGateway.Pending Stores all the state for an unsent or partially-sent message
TunnelGateway.QueuePreprocessor
TunnelGateway.Receiver
TunnelGateway.Sender
TunnelGatewayPumper run through the tunnel gateways that have had messages added to them and push those messages through the preprocessing and sending process

Classes in net.i2p.router.tunnel used by net.i2p.router.tunnel.pool
TunnelCreatorConfig Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration is