Package net.i2p.router

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).