Coalesce the stats framework every minute
Warn about unavailable crypto to router and wrapper logs
Simple thread that sits and waits forever, managing the graceful shutdown "process" (describing it would take more text than just reading the code...)
If the i2pupdate.zip file is present, unzip it and JVM exit.
Write a timestamp to the ping file where other routers trying to use the same configuration can see it
Update the router.info file whenever its, er, updated
Simply read the router config periodically, so that the user may make config changes externally.
Periodically publish our RouterInfo to the netdb
Periodically check to make sure things haven't gone totally haywire (and if they have, restart the JVM)
Just for failsafe.
A non-daemon thread to let the shutdown task get all the way to the end
Only works with wrapper on non-windows platforms
Update the routing Key modifier every day at midnight (plus on startup).
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.