- Move from core to router, leave stub in core
so it doesn't break compatibility. This removes a
thread in app context and prevents any app context from
running NTP; external clients must use the time
received from the router.
- Increase query interval
clock shifts by partially restarting the router. Also improve
restarts initiated from config.jsp
Tickets #465, #468, #494
* UPnP: Wait for a while to ensure port removal at shutdown or restart
- Implement and call shutdown for BandwidthRefiller
- Implement and register shutdown hook for Timestamper
- Implement and register shutdown hook for Jetty console server
- Fix UPnP-SSDPNotifySocket thread not stopping
- Fix all but one UDP PacketHandler threads not stopping
- getFramedAveragePeerClockSkew() now returns a long (ms);
was a Long (s)
- Implement NTP-style clock slewing so the clock is adjusted
gradually
- Implement clock strata so we prefer better clocks
- Implement a timestamper in the transport so we will periodically
update the clock even if NTP is not working
This allows the router to converge the clock instead of simply
hoping the first connected peer is correct.
- Slow down NTP attempts after several consecutive failures
* Code Janitor time! Many fixes and documenting fixes that should be
done in the future. for the most part, this is a general code cleanup.
* On smaller/embedded systems, the "final" keyword cleanups will have
more of an impact than on larger systems.
* Document missing hashCode() methods.
* Unhide more variables to make code easier to read.