Miscellaneous classes, mostly things that are executed periodically as Jobs, Threads, and SimpleTimer.TimedEvents. These are used only by Router.java. Nothing here is to be used externally, not a part of the public API.
Class Summary Class Description BasePerms CoalesceStatsEventCoalesce the stats framework every minute CryptoCheckerWarn about unavailable crypto to router and wrapper logs GracefulShutdownSimple thread that sits and waits forever, managing the graceful shutdown "process" (describing it would take more text than just reading the code...) InstallUpdateIf the i2pupdate.zip file is present, unzip it and JVM exit. MarkLivelinessWrite a timestamp to the ping file where other routers trying to use the same configuration can see it OOMListenerKaboom PersistRouterInfoJobUpdate the router.info file whenever its, er, updated ReadConfigJobSimply read the router config periodically, so that the user may make config changes externally. RepublishPeriodically publish our RouterInfo to the netdb Restarter RouterWatchdogPeriodically check to make sure things haven't gone totally haywire (and if they have, restart the JVM) ShutdownHookJust for failsafe. SpinnerA non-daemon thread to let the shutdown task get all the way to the end ThreadDumpOnly works with wrapper on non-windows platforms UpdateRoutingKeyModifierJobUpdate the routing Key modifier every day at midnight (plus on startup).