Class Summary |
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 |
BuildMessageTest |
Simple test to create an encrypted TunnelBuildMessage, decrypt its layers (as it would be
during transmission), inject replies, then handle the TunnelBuildReplyMessage (unwrapping
the reply encryption and reading the replies). |
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 |
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 |
|
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 |
Serve as the gatekeeper for a tunnel, accepting messages, coallescing and/or
fragmenting them before wrapping them up for tunnel delivery. |
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 |
|
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. |