Interface Summary |
HandlerJobBuilder |
Defines a class that builds jobs to handle a particular message - these
builders are registered with the InNetMessagePool for various I2NP message
types, allowing immediate queueing of a handler job rather than waiting for
a polling job to come pick it up. |
Job |
Defines an executable task |
MessageSelector |
Define a mechanism to select what messages are associated with a particular
OutNetMessage. |
PeerManagerFacade |
Manage peer references and keep them up to date so that when asked for peers,
it can provide appropriate peers according to the criteria provided. |
ProfileManager |
|
ReplyJob |
Defines an executable task that can be fired off in reply to a message |
RouterThrottle |
Gatekeeper for deciding whether to throttle the further processing
of messages through the router. |
Service |
Define the manageable service interface for the subsystems in the I2P router |
TunnelInfo |
Defines the information associated with a tunnel |
TunnelManagerFacade |
Build and maintain tunnels throughout the network. |
Class Summary |
ClientManagerFacade |
Manage all interactions with clients |
ClientMessage |
Wrap a message either destined for a local client or received from one. |
ClientMessagePool |
Manage all of the inbound and outbound client messages maintained by the router. |
ClientTunnelSettings |
Wrap up the client settings specifying their tunnel criteria |
CoalesceStatsEvent |
coalesce the stats framework every minute |
CommSystemFacade |
Manages the communication subsystem between peers, including connections,
listeners, transports, connection keys, etc. |
DummyClientManagerFacade |
|
DummyCommSystemFacade |
|
DummyNetworkDatabaseFacade |
|
DummyPeerManagerFacade |
|
DummyTunnelManagerFacade |
|
InNetMessagePool |
Manage a pool of inbound InNetMessages. |
JobImpl |
Base implementation of a Job |
JobQueue |
Manage the pending jobs according to whatever algorithm is appropriate, giving
preference to earlier scheduled jobs. |
JobQueueRunner |
a do run run run a do run run |
JobStats |
glorified struct to contain basic job stats |
JobTiming |
Define the timing requirements and statistics for a particular job |
KeyManager |
Maintain all of the key pairs for the router. |
LeaseSetKeys |
Wrap up the keys given to the router when a destination connects to it |
LoadTestManager |
Coordinate some tests of peers to see how much load they can handle. |
MarkLiveliness |
|
MessageHistory |
Simply act as a pen register of messages sent in and out of the router. |
MessageReceptionInfo |
Wrap up the details of how a ClientMessage was received from the network |
MessageStateMonitor |
Keep track of the inbound and outbound messages in memory. |
MessageValidator |
Singleton to manage the logic (and historical data) to determine whether a message
is valid or not (meaning it isn't expired and hasn't already been received). |
MultiRouter |
Fire up multiple routers in the same VM, all with their own RouterContext
(and all that entails). |
MultiRouterBuilder |
Build a set of config files suitable for use by the multirouter as a
simulation, as well as a pair of scripts for running the simulation. |
NetworkDatabaseFacade |
Defines the mechanism for interacting with I2P's network database |
OutNetMessage |
Wrap up an outbound I2NP message, along with the information associated with its
delivery and jobs to be fired off if particular events occur. |
OutNetMessagePool |
Maintain a pool of OutNetMessages destined for other routers, organized by
priority, expiring messages as necessary. |
PeerSelectionCriteria |
Defines the criteria for selecting a set of peers for use when searching the
PeerManager |
PersistRouterInfoJob |
update the router.info file whenever its, er, updated |
Router |
Main driver for the router. |
RouterClock |
Alternate location for determining the time which takes into account an offset. |
RouterContext |
Build off the core I2P context to provide a root for a router instance to
coordinate its resources. |
RouterDoSThrottle |
Minor extention of the router throttle to handle some DoS events and
throttle accordingly. |
RouterLaunch |
|
RouterThrottleImpl |
Simple throttle that basically stops accepting messages or nontrivial
requests if the jobQueue lag is too large. |
RouterVersion |
Expose a version string |
RouterWatchdog |
Periodically check to make sure things haven't gone totally haywire (and if
they have, restart the JVM) |
SessionKeyPersistenceHelper |
Centralize the sessionKeyManager persistence (rather than leave it to a private
job in the startup job) |
Shitlist |
Routers are shitlisted only if none of our transports can talk to them
or their signed router info is completely screwy. |
ShutdownHook |
|
SSUDemo |
Demo of a stripped down router - no tunnels, no netDb, no i2cp, no peer profiling,
just the SSU comm layer, crypto, and associated infrastructure, extended to handle
a new type of message ("FooMessage"). |
StatisticsManager |
Maintain the statistics about the router |
SubmitMessageHistoryJob |
Job that, if its allowed to, will submit the data gathered by the MessageHistory
component to some URL so that the network can be debugged more easily. |
TunnelPoolSettings |
Wrap up the settings for a pool of tunnels (duh) |
TunnelSelectionCriteria |
Set of criteria for finding a tunnel from the Tunnel Manager |
TunnelSettings |
Wrap up the settings specified for a particular tunnel |
UpdateRoutingKeyModifierJob |
Update the routing Key modifier every day at midnight (plus on startup). |