BufferingPeriodicStreamProbe class abstract

An abstract probe which can be used to sample data from a buffering stream, every interval for a period of duration. These events are buffered for the specified duration, and then collected from the getDatum method and send to the main data stream.

Sub-classes must implement the

Stream<dynamic> get bufferingStream => ...

method in order to provide the stream to be buffered.

When sampling starts, the onSamplingStart handle is called. When the sampling window ends, the onSamplingEnd handle is called.

See LightProbe for an example.

Inheritance
Implementers

Properties

bufferingStream Stream
The stream of events to be buffered. Must be specified by sub-classes.
no setter
configuration → Measure?
The configuration of this executor as set when initialized.
no setterinherited
controller StreamController<Datum>
A stream controller to add Datums to.
getter/setter pairinherited
data Stream<DataPoint>
The stream of DataPoint generated from this executor.
no setterinherited
deployment SmartphoneDeployment?
The deployment that this executor is part of executing.
no setterinherited
deviceManager DeviceManager<DeviceRegistration, DeviceDescriptor>
The device that this probes uses to collect data.
getter/setter pairinherited
enabled bool
Is this probe enabled, i.e. available for collection of data using the resume method.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
measure → Measure?
The Measure that configures this probe.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
samplingConfiguration PeriodicSamplingConfiguration?
The sampling configuration for this probe.
no setterinherited
state ExecutorState
The runtime state of this executor.
no setterinherited
stateEvents Stream<ExecutorState>
The runtime state changes of this executor.
no setterinherited
stream Stream<Datum>
The stream of Datum objects for this StreamProbe. Must be implemented by sub-classes.
no setteroverride
subscription StreamSubscription?
getter/setter pairinherited
timer Timer?
getter/setter pairinherited
type String?
The data type this probe is collecting.
no setterinherited

Methods

addData(Datum datum) → void
Add a data point to the data stream.
inherited
addError(Object error) → void
Add an error to the data stream.
inherited
error() → void
inherited
getDatum() Future<Datum?>
Subclasses should implement / override this method to collect the Datum. This method will be called every time data has been buffered for a duration and should return the final Datum for the buffered data.
initialize(Measure configuration, [SmartphoneDeployment? deployment]) → void
Configure and initialize the executor before resuming it.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onData(Datum datum) → void
inherited
onDone() → void
inherited
onError(Object error) → void
inherited
onInitialize() bool
Callback when this executor is initialized. Returns true if succesfully initialized, false othervise.
inherited
onPause() Future<bool>
Callback when this executor is paused. Returns true if successfully paused, false otherwise.
override
onRestart() Future<bool>
Callback when this executor is restarted. Returns true if successfully restarted, false otherwise.
inherited
onResume() Future<bool>
Callback when this executor is resumed. Returns true if successfully resumed, false otherwise.
override
onSamplingData(dynamic event) → void
Handler for handling onData events from the buffering stream.
onSamplingEnd() → void
Handler called when sampling period ends.
onSamplingStart() → void
Handler called when sampling period starts.
onStop() Future<bool>
Callback when this executor is stopped. Returns true if successfully stopped, false otherwise.
inherited
pause() → void
Pause the executor. Paused until resume or stop is called.
inherited
restart() → void
Restart the executor.
inherited
resume() → void
Resume the executor.
inherited
stop() → void
Stop the executor. Once an executor is stopped, it cannot be resumed again. If you need to restart an executor, use the restart or pause and resume methods.
inherited
toString() String
A string representation of this object.
inherited

Operators

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