forked from I2P_Developers/i2p.i2p
2006-09-26 Complication
* Subclass from Clock a RouterClock which can access router transports, with the goal of developing it to second-guess NTP results * Make transports report clock skew in seconds * Adjust renderStatusHTML() methods accordingly * Show average for NTCP clock skews too * Give transports a getClockSkews() method to report clock skews * Give transport manager a getClockSkews() method to aggregate results * Give comm system facade a getMedianPeerClockSkew() method which RouterClock calls (to observe results, add "net.i2p.router.transport.CommSystemFacadeImpl=WARN" to logging) * Extra explicitness in NTCP classes to denote unit of time. * Fix some places in NTCPConnection where milliseconds and seconds were confused
This commit is contained in:
@ -68,7 +68,7 @@ public class I2PAppContext {
|
||||
private LogManager _logManager;
|
||||
private HMACGenerator _hmac;
|
||||
private SHA256Generator _sha;
|
||||
private Clock _clock;
|
||||
protected Clock _clock; // overridden in RouterContext
|
||||
private DSAEngine _dsa;
|
||||
private RoutingKeyGenerator _routingKeyGenerator;
|
||||
private RandomSource _random;
|
||||
@ -83,7 +83,7 @@ public class I2PAppContext {
|
||||
private volatile boolean _logManagerInitialized;
|
||||
private volatile boolean _hmacInitialized;
|
||||
private volatile boolean _shaInitialized;
|
||||
private volatile boolean _clockInitialized;
|
||||
protected volatile boolean _clockInitialized; // used in RouterContext
|
||||
private volatile boolean _dsaInitialized;
|
||||
private volatile boolean _routingKeyGeneratorInitialized;
|
||||
private volatile boolean _randomInitialized;
|
||||
@ -411,11 +411,11 @@ public class I2PAppContext {
|
||||
* enable simulators to play with clock skew among different instances.
|
||||
*
|
||||
*/
|
||||
public Clock clock() {
|
||||
public Clock clock() { // overridden in RouterContext
|
||||
if (!_clockInitialized) initializeClock();
|
||||
return _clock;
|
||||
}
|
||||
private void initializeClock() {
|
||||
protected void initializeClock() { // overridden in RouterContext
|
||||
synchronized (this) {
|
||||
if (_clock == null)
|
||||
_clock = new Clock(this);
|
||||
|
Reference in New Issue
Block a user