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 |
Blocklist |
Manage blocking by IP address, in a manner similar to the Shitlist,
which blocks by router hash. |
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 |
CommSystemFacade |
Manages the communication subsystem between peers, including connections,
listeners, transports, connection keys, etc. |
DummyClientManagerFacade |
Manage all interactions with clients |
DummyNetworkDatabaseFacade |
|
DummyPeerManagerFacade |
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. |
DummyTunnelManagerFacade |
Build and maintain tunnels throughout the network. |
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 |
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 |
PersistentKeyRing |
ConcurrentHashMap with backing in the router.config file. |
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 |
This is the class called by the runplain.sh script on linux
and the i2p.exe launcher on Windows. |
RouterThrottleImpl |
Simple throttle that basically stops accepting messages or nontrivial
requests if the jobQueue lag is too large. |
RouterVersion |
Expose a version string
n |
RouterWatchdog |
Periodically check to make sure things haven't gone totally haywire (and if
they have, restart the JVM) |
Shitlist |
Routers are shitlisted only if none of our transports can talk to them
or their signed router info is completely screwy. |
Shitlist.Entry |
|
StatisticsManager |
Maintain the statistics about the router |
TunnelPoolSettings |
Wrap up the settings for a pool of tunnels (duh) |
TunnelSelectionCriteria |
Set of criteria for finding a tunnel from the Tunnel Manager |