- Centralize priority definitions
- Raise netdb store and reply priority
GarlicMessage:
- Add notes about GarlicMessageHandler and HandleGarlicMessageJob
being unused in practice
- Limit queue sizes
- Add stat for overflow
- Remove some stats
- Change pumper to LinkedHashSet for efficiency
(like NTCP Reader/Writer)
- Limit messages pumped per cycle to increase
round-robin fairness
- Comment out some unused code
- Javadoc
- Limit UDPSender queue size
- Increase UDPSender max packet lifetime
- Clear UDPSender queue before sending destroys to all
- Increase PeerState queue size so large streaming windows
don't get dropped right away, especially at slow start
- Various improvements on iterating over pending outbound
messages in PeerState
table lookup for more flexibility
* Streaming: Use packet type and current window size to adjust
number of tags sent and tag threshold, to improve
efficiency and reliability
- Use extended I2CP options for datagrams
- Fix timeout for sent datagrams
- Reduce token timeout
- Check token age before use
- Limit incoming token size
- Add methods for sending a message with extended options
- Fix cases where the efficient sendNoEffort() wasn't being used
* OCMOSJ:
- Implement per-message overrides for tag threshold,
tags to send, and bundle leaseset
- Fix bug adjusting timeouts
- Warn on client expiration time bugs
- Use external, not internal port to sign SessionCreated message.
Together with previous fix to allow external port change, this
should fix session establish fails when NAT changes our port
- Track outbound establishments by both Hash and IP/port,
to improve lookups of establishments in progress
- Fix expiration of outbound establishments
- Validate address/port in RelayResponse messages
- Change RemoteHostID to store Hash instead of byte[] for the peer hash
- Log tweaks
- Use remote MTU when published (ticket #687)
- Queue outbound msgs during inbound establish
- IntroManager cleanups
- More synchronization
- More log tweaks