LowestDispersionAlgorithm
@interface LowestDispersionAlgorithm : NSObject <IWCAlgo>
Algorithm that selects the candidate (request-response measurement result) with the lowest dispersion.
Dispersion is a formal measure of the error bounds of the Wall Clock estimate. This value is the sum of possible error due to:
- measurement precision limitations (at both client and server)
- round-trip time
- maximum potential for oscillator frequency error at the client and at the server server
This grows as the candidate (that was used to most recently adjust the clock) ages.
Note: The Clock object must be the same one that is provided to the WallClockClient, otherwise this algorithm will not synchronise correctly.
The tick rate of the Clock can be any tick rate (it does not have to be one tick per nanosecond), but too low a tick rate will limit clock synchronisation precision.
-
Undocumented
Declaration
Objective-C
@interface LowestDispersionAlgorithm : NSObject <IWCAlgo>
-
Initialise algorithm
Declaration
Objective-C
- (id)initWithWallClock:(id)wall_clock;
Swift
init!(wallClock wall_clock: Any!)
Parameters
wall_clock
- a clock whose tick offset can be adjusted.
Return Value
Algorithm instance