MessageTiming class final

Receive-side timing for a single message, as the transport observed it.

Every inbound message carries one of these when the transport can supply it, whether it is a 500 Hz data sample or a once-per-session coordination message — characterising the network means measuring both.

The clock domains follow LSL's model, because it is the strictest of the transports: sourceClock is a reading of the sender's clock, whose epoch is unrelated to ours, and clockOffset is what maps it into our own domain. receivedClock is a reading of the local clock in that same domain.

All three are seconds. Nullability is meaningful: a null sourceClock or clockOffset means the value is genuinely unknown, and transitSeconds then returns null rather than a plausible-looking fabrication.

Constructors

MessageTiming({required double receivedClock, double? sourceClock, double? clockOffset, double? uncertainty, String? sourceId})
const

Properties

clockOffset → double?
Seconds to add to sourceClock to map it into the local clock domain.
final
hashCode → int
The hash code for this object.
no setterinherited
receivedClock → double
The local clock when this message was received, in the local domain.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sourceClock → double?
The sender's clock at capture, in the sender's own domain.
final
sourceClockLocal → double?
sourceClock mapped into the local clock domain, or null if either the sender's reading or the offset needed to translate it is unknown.
no setter
sourceId → String?
How the transport identifies the sender: LSL's source_id, a peer's node uId, and so on. Null if the transport does not distinguish senders.
final
transitMicros → int?
transitSeconds in microseconds, rounded, or null.
no setter
transitSeconds → double?
One-way transit time in seconds, or null when it cannot be computed honestly (see sourceClockLocal).
no setter
transitUncertaintySeconds → double?
Half of uncertainty — the ± bound on transitSeconds — or null.
no setter
uncertainty → double?
Error bound on clockOffset, in seconds, or null if not known.
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