# Package net.i2p.router.tunnel

Interface Summary
Interface | Description
--- | ---
FragmentHandler.DefragmentedReceiver | Receive messages out of the tunnel endpoint.
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.
TunnelGateway.QueuePreprocessor |
TunnelGateway.Receiver |
TunnelGateway.Sender |

Class Summary
Class | Description
--- | ---
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.
BatchedRouterPreprocessor | Honor the 'batchFrequency' tunnel pool setting or the 'router.batchFrequency' router config setting, and track fragmentation.
BloomFilterIVValidator | Manage the IV validation for all of the router's tunnels by way of a big decaying bloom filter.
BuildMessageGenerator |
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.
DummyValidator | accept everything
FlushTimer |
FragmentedMessage | Gather fragments of I2NPMessages at a tunnel endpoint, making them available for reading when complete.
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.
HashSetIVValidator | Deprecated unused
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.
InboundGatewayProcessor | Override the hop processor to seed the message with a random IV.
InboundGatewayReceiver |
InboundMessageDistributor | When a message arrives at the inbound tunnel endpoint, this distributor honors the instructions (safely)
InboundSender | Receive the preprocessed data for an inbound gateway, encrypt it, and forward it on to the first hop.
OutboundGatewayProcessor | Turn the preprocessed tunnel data into something that can be delivered to the first hop in the tunnel.
OutboundMessageDistributor | When a message arrives at the outbound tunnel endpoint, this distributor honors the instructions.
OutboundReceiver | Receive the outbound message after it has been preprocessed and encrypted, then forward it on to the first hop in the tunnel.
OutboundSender | Receive the preprocessed data for an outbound gateway, encrypt all of the layers, and forward it on to the first hop.
OutboundTunnelEndpoint | We are the end of an outbound tunnel that we did not create.
PumpedTunnelGateway | This is used for all gateways with more than zero hops.
RouterFragmentHandler | Minor extension to allow message history integration
ThrottledPumpedTunnelGateway | Same as PTG, but check to see if a message should be dropped before queueing it.
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.
TrivialRouterPreprocessor | Deprecated unused
TunnelCreatorConfig | Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration is
TunnelDispatcher | Handle the actual processing and forwarding of messages through the various tunnels.
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
TunnelGatewayPumper | run through the tunnel gateways that have had messages added to them and push those messages through the preprocessing and sending process
TunnelGatewayZeroHop | Serve as the gatekeeper for a tunnel with no hops.
TunnelParticipant | Participate in a tunnel at a location other than the gateway or outbound endpoint.