Candidate
@interface Candidate
A class for candidate measurement objects. Each candidate has a dispersion associated with it. This dispersion increases with time. If at a particular time T, the candidate’s dispersion > MAX_TOLERABLE_DISPERSION, then the candidate is no longer useful and should be filtered out.
-
T1
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t originateTime;Swift
var originateTime: Int64 { get set } -
T2
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t receiveTime;Swift
var receiveTime: Int64 { get set } -
T3
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t transmitTime;Swift
var transmitTime: Int64 { get set } -
T4
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t responseTime;Swift
var responseTime: Int64 { get set } -
Time values in nanos or ticks
Declaration
Objective-C
@property (getter=isNanos, assign, readwrite, nonatomic) BOOL nanos;Swift
var isNanos: Bool { get set } -
computed candidate offset
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t offset;Swift
var offset: Int64 { get set } -
computed candidate RTT
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t RTT;Swift
var rtt: Int64 { get set } -
WC Server Precision in ppm
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int64_t wcServerPrecisionInNanos;Swift
var wcServerPrecisionInNanos: Int64 { get set } -
WC Server maximum frequency error
Declaration
Objective-C
@property (assign, readwrite, nonatomic) uint32_t wcServerMaxFreqError;Swift
var wcServerMaxFreqError: UInt32 { get set } -
From-the-wire WC Server response message
Declaration
Objective-C
@property (assign, readwrite, nonatomic) WCSyncMessage *responseMsg;Swift
var responseMsg: WCSyncMessage! { get set } -
quality of measurement, is it a followup?
Declaration
Objective-C
@property (assign, readwrite, nonatomic) int8_t quality;Swift
var quality: Int8 { get set } -
Undocumented
Declaration
Objective-C
@interface Candidate -
Initialise a candidate object with a received WC Sync packet and calculate initial dispersion - parameter: response_msg a WCSyncMessage response received from the Wall Clock server - parameter: quality the quality of the response - parameter: is_nanos Boolean flag, true if time is in nano seconds.
Declaration
Objective-C
- (id)initWithResponseMsg:(WCSyncMessage *)response_msg Quality:(int8_t)quality TimeIsNanos:(BOOL)is_nanos;Swift
init!(responseMsg response_msg: WCSyncMessage!, quality: Int8, timeIsNanos is_nanos: Bool)Parameters
response_msga WCSyncMessage response received from the Wall Clock server
qualitythe quality of the response
is_nanosBoolean flag, true if time is in nano seconds.
-
Compute and return candidate offset
Declaration
Objective-C
- (int64_t)getOffset;Swift
func getOffset() -> Int64Return Value
candidate offset in nanoseconds
-
Compute and return candidate round trip time
Declaration
Objective-C
- (int64_t)getRTT;Swift
func getRTT() -> Int64Return Value
RTT in nanoseconds
-
Compute and return dispersion for candidate offset at a particular time instant - parameter: time current time in nanoseconds
Declaration
Objective-C
- (int64_t)getDispersionAtTime:(int64_t)time;Swift
func getDispersionAtTime(_ time: Int64) -> Int64Parameters
timecurrent time in nanoseconds
-
Returns the time in nanoseconds after which candidate measurement will be greater than the maximum tolerable dispersion - parameter: accuracy_target_nanos Maximum tolerable dispersion to achieve wall clock synchronisation of desired accuracy
Declaration
Objective-C
- (int64_t)getCandidateExpirationTime:(int64_t)accuracy_target_nanos;Swift
func getExpirationTime(_ accuracy_target_nanos: Int64) -> Int64Parameters
accuracy_target_nanosMaximum tolerable dispersion to achieve wall clock synchronisation of desired accuracy
View on GitHub
Candidate Class Reference