WedgeMonitor class

Samples the station's forward progress on a timer and flares a SUSTAINED stall exactly once per episode. Owned + driven by StationDriver.

Constructors

WedgeMonitor({required JoinedSnapshot latest(), Duration threshold = kDefaultWedgeThreshold, Duration pollInterval = kDefaultWedgePollInterval, ExplorationTransport? transport, DateTime clock()?, Timer scheduleTimer(Duration, void ())?})
Creates a monitor over the producer-side latest join.

Properties

hashCode int
The hash code for this object.
no setterinherited
pollInterval Duration
How often the station re-samples itself.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state WedgeState
The station's current wedge state — a plain derived VALUE (not a mirror of reactive state behind a sync accessor): the status view reads it fresh per request.
no setter
threshold Duration
How long a stall must hold continuously before it is a WEDGE.
final

Methods

dispose() → void
Cancels the poll timer. Idempotent.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
poll() → void
Samples once, advances the latch, and re-arms the timer IFF the station is currently stalled. Called by the timer, by start, and by StationDriver.afterFlush (a flush is what detects the ENTRY into a stall; the timer is what carries that stall through TIME once flushes stop).
pollSnapshot(JoinedSnapshot snapshot) WedgeState
Samples snapshot, advances the sustain latch, and returns the new state.
start() → void
Takes the baseline sample. Idempotent — poll is the whole loop.
toString() String
A string representation of this object.
inherited

Operators

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