so I/O doesn't stall under high CPU load
- Raise DH generator thread priority to keep
DH building out of event pumper thread
- Raise PRNG and YK generator thread priorites one notch
- Set I2PThread priority in constructor
Fixes problems mainly seen on Windows, which seems
to be much more sensitive to priority settings
- When socket is closed, set sessionID and LS to null,
close subsession and set its sessionID and LS to null
- Checks on client side for null session ID
- Check for null session in Destroy Session message
- Don't kill I2CP connection due to a bad session ID
in a SendMessage, just drop the message and send
a MessageStatusMessage
- Log tweaks
Catch null SessionId in messages and stop connection instead of NPE
Wait for LS in SubSession in connect() so we don't send data w/o
a session ID and leaseset
Log tweaks
- change crit() to error() and remove crit()
- comment out some System.out.println()s
- Back out a couple of code moves to minimize the diff for review
- Spelling fixes, comment cleanups, spacing tweaks
- Tweaks for efficiency
- Remove / comment out unused methods
- Make ARM architecture have priority over model string,
except for ARMv6 (Raspberry Pi workaround)
- Restore check for ARM architecture first char only,
not exact match
- Try architecture and model string even if implementer and part are absent
- Return null immediately for Windows ARM
isn't destroyed and immediately replaced by i2ptunnel,
which caused dup shared clients in a race at startup;
Clarify session exception text if not open
isn't treated as CLOSED and immediately replaced by i2ptunnel,
which caused dup shared clients in a race at startup
(possible related tickets #642, #650, #815, #1545)