ClockSyncSample class final

One clock-offset estimate for one peer, as the transport measured it.

Distinct from MessageTiming, and deliberately a separate channel rather than extra fields on it. An offset estimate is refreshed on the order of once every few seconds, while data samples arrive hundreds of times a second; carrying the estimate's own metadata on every sample would repeat one value hundreds of times across the isolate port and tell a reader nothing new. MessageTiming answers "when did this message arrive"; this answers "how well do the two clocks agree right now".

It also carries what a per-message view structurally cannot: the estimates themselves, at their own cadence, whether or not any traffic happened to arrive. Without them, clock drift over a session is only observable where an event occurred, so a quiet stream leaves an unbridgeable gap.

Constructors

ClockSyncSample({required double receivedClock, String? sourceId, double? offset, double? remoteTime, double? uncertainty, bool clockReset = false})
const

Properties

bound → double?
Half of uncertainty — the ± bound on offset — or null.
no setter
clockReset → bool
Whether the peer's clock may have been reset since the previous estimate.
final
hashCode → int
The hash code for this object.
no setterinherited
offset → double?
Seconds to add to a reading of the peer's clock to map it into the local domain — the same quantity as MessageTiming.clockOffset.
final
receivedClock → double
The local clock when this estimate was taken, in the local domain.
final
remoteTime → double?
The peer's own clock at the moment the estimate was taken.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sourceId → String?
How the transport identifies the peer this estimate is for: LSL's source_id, a peer's node uId, and so on.
final
uncertainty → double?
Error bound on offset: the full round-trip time of the probe, so the true offset lies within ±uncertainty/2. Same convention as MessageTiming.uncertainty.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toMap() → Map<String, dynamic>
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited