See: Description
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 | 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 |
Fill in the encrypted BuildRequestRecords in a TunnelBuildMessage
|
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
|
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 |
Handle messages at the IBGW.
|
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.
|
OutboundGatewayMessage |
Stores all the state for an unsent or partially-sent message
|
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 |
We are the outbound gateway - we created this outbound 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.
|
PendingGatewayMessage |
Stores all the state for an unsent or partially-sent message
|
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.
|
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, either inbound or outbound.
|
TunnelParticipant |
Participate in a tunnel at a location other than the gateway or outbound
endpoint.
|
Enum | Description |
---|---|
TunnelDispatcher.Location |
for shouldDropParticipatingMessage()
|
All the work of managing locally created and participating tunnels, creating and handling tunnel messages, and their encryption. Deals with the five different types of tunnel hops: outbound gateway, outbound endpoint, inbound gateway, inbound endpoint, and middle hop. Distributes messages received for each type. Validation, queueing and throttling for each type. Tunnel build message handling is in the pool package.