- Don't delay the refiller if we need more (don't limit max output)
- Add FortunaRandomSource.main() to output to stdout for testing e.g. with dieharder
- Move more cleanups to finally block
- Bounded wait
- Don't ignore InterruptedExceptions, wrap in I2PSessionException and throw
- More finals
- Synch tweaks
- Tag initialNews.xml for TranslateReader
- Drop static translated initialNews pages
- Add new routerconsole bundle for the news alone, shipped in the jar
- Use TranslateReader in HTTP proxy for initial news
- Initial translations created manually from translated xml filesx
- Add translated proxy error pages and initial news to deletelist.txt
TODO: ar translation fails checkpo.sh
- New varargs method in Translate
- New TranslateReader to translate static files on-the-fly using _("") tagging
- Tag proxy error pages for TranslateReader
- Drop static translated proxy error pages
- Add new i2ptunnel bundle for the proxy alone, shipped in the jar
- Use TranslateReader in HTTP proxy for error pages
- Move HTTP proxy strings from the web *war) to proxy (jar) bundle so they will be loaded
- Initial translations created by msgmerge from i2ptunnel and routerconsole po files, un-fuzzied
- I2PSocketManagerFactory: New createDisconnectedManager(), javadocs
- I2PSessionImpl: Rewrite state management and locking, prevent multiple
connect() calls, but allow disconnect() to interrupt connect()
- I2PSimpleSession: Changes to match I2PSessionImpl
- I2PTunnelServer: Don't connect in constructor, use createDisconnectedManager()
for a final manager, finals and cleanups
Lightly tested.
Todo: I2PTunnelClientBase
- Make classes extensible for router-side test stubs
- Add router-side local-only test implementation, no full router required.
Only tested with external clients, probably doesn't work in-JVM.
- Don't start threads in ClientManager constructor
- Remove unused Reader param in ClientMessageEventListener methods
- Cleanups, volatiles, finals, javadocs