Package net.i2p.router.tunnel

Interface Summary
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
BatchedFragmentTest Test the batching behavior of the preprocessor with one, two, or three messages of various sizes and settings.
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.
DummyValidator accept everything
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.
FragmentTest Simple test to see if the fragmentation is working, testing the preprocessor, FragmentHandler, and FragmentedMessage operation.
HashSetIVValidator waste lots of RAM
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  
InboundGatewayTest Quick unit test for base functionality of inbound tunnel operation
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.
InboundTest Quick unit test for base functionality of inbound tunnel operation
OutboundGatewayProcessor Turn the preprocessed tunnel data into something that can be delivered to the first hop in the tunnel.
OutboundGatewayTest Quick unit test for base functionality of outbound tunnel operation
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.
OutboundTest Quick unit test for base functionality of outbound tunnel operation
OutboundTunnelEndpoint We are the end of an outbound tunnel that we did not create.
RouterFragmentHandler Minor extension to allow message history integration
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 Minor extension to track fragmentation
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  
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.