ClockSyncConfig class final

Tuning for PeerClockEstimator, defaulting to liblsl's [tuning] section.

The defaults are liblsl's verbatim (api_config.cpp:312-325). They are exposed because liblsl can afford them in a way this cannot: its probes are UDP datagrams on a dedicated service port, completely off the data path, while these ride the coordination stream alongside heartbeats, joins and user messages. At the defaults that is ~8 messages/second per peer pair, and it scales with participant count on the coordinator.

Constructors

ClockSyncConfig({Duration timeUpdateInterval = const Duration(seconds: 2), int timeProbeCount = 8, Duration timeProbeInterval = const Duration(milliseconds: 64), Duration timeProbeMaxRtt = const Duration(milliseconds: 128), int timeUpdateMinProbes = 6})
const

Properties

aggregateAfter → Duration
How long after a burst starts its results are aggregated.
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
timeProbeCount → int
Probes sent per burst.
final
timeProbeInterval → Duration
Between individual probes within a burst.
final
timeProbeMaxRtt → Duration
Extra grace after the last probe of a burst before aggregating, to let stragglers arrive.
final
timeUpdateInterval → Duration
Between the starts of consecutive probe bursts.
final
timeUpdateMinProbes → int
Replies a burst must collect before its result is accepted. Below this the burst is discarded and the previous estimate is retained.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
validate({bool throwOnError = false}) → bool

Operators

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