BufferingIntervalStreamProbe class abstract

A type of probe which buffers data from an underlying stream and on a regular interval return a measurement based on this collected data.

Probes of this type uses a PeriodicSamplingConfiguration that specify the interval of sampling. The duration is not used. Every interval the measurement is collected from the getMeasurement method and send to the main measurements stream.

Sub-classes must implement the

Stream<dynamic> get bufferingStream => ...

method in order to provide the stream to be buffered.

The difference between this BufferingIntervalStreamProbe and the BufferingPeriodicStreamProbe is that this type of probe keeps the underlying bufferingStream running continuously, while the latter starts and stop the underlying bufferingStream in the sampling windows specified by the interval and duration parameters of the samplingConfiguration.

Inheritance

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
deployment SmartphoneDeployment?
The deployment that this executor is part of executing.
no setterinherited
deviceManager DeviceManager<DeviceConfiguration<DeviceRegistration>>
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 start method.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
isStarting bool
Is this executor in the process of being started?
no setterinherited
measure → Measure?
The Measure that configures this probe.
no setterinherited
measurements Stream<Measurement>
The stream of Measurement collected by this executor.
no setterinherited
permissions List<Permission>
The list of permissions needed for this probe.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
samplingConfiguration IntervalSamplingConfiguration?
The sampling configuration for this probe.
no setteroverride
state ExecutorState
The runtime state of this executor.
no setterinherited
stateEvents Stream<ExecutorState>
The runtime state changes of this executor.
no setterinherited
stream Stream<Measurement>?
The stream of Measurement objects for this StreamProbe. Must be implemented by sub-classes.
no setterinherited
type String?
The data type this probe is collecting.
no setterinherited

Methods

addError(Object error, [StackTrace? stacktrace]) → void
Add error to the measurements stream.
inherited
addMeasurement(Measurement measurement) → void
Add measurement to the measurements stream.
inherited
arePermissionsGranted() Future<bool>
Does this probe has the permissions needed to run?
inherited
dispose() → void
Dispose of this executor.
inherited
error() → void
inherited
getMeasurement() Future<Measurement?>
Subclasses should implement / override this method to collect the Measurement. This method will be called every time data has been buffered for a duration and should return the final measurement for the buffered data.
initialize(Measure configuration, [SmartphoneDeployment? deployment]) → void
Configure and initialize the executor before starting it.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDispose() Future<void>
Callback when this executor is disposed.
inherited
onInitialize() bool
Callback when this executor is initialized. Returns true if successfully initialized, false otherwise.
inherited
onRestart() Future<bool>
Callback when this executor is to be restarted. Returns true if the executor is ready to restart (default), false otherwise.
inherited
onSamplingData(dynamic event) → void
Handler for handling onData events from the buffering stream.
onStart() Future<bool>
Callback when this executor is started. Returns true if successfully started, false otherwise.
override
onStop() Future<bool>
Callback when this executor is stopped. Returns true if successfully stopped, false otherwise.
override
requestPermissions() Future<bool>
Request the permissions needed for this probe to run. Return true if all permissions are granted. Only used on Android - iOS automatically request permissions when a resource (like the microphone) is accessed.
inherited
restart() → void
Restart the executor.
inherited
start() → void
Start the executor.
inherited
stop() → void
Stop the executor. Stopped until start or restart is called.
inherited
toString() String
A string representation of this object.
inherited

Operators

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