videoLat  2.1
Video conferencing delay measurements
Instance Methods | Protected Attributes | Properties | List of all members
RunCollector Class Reference

#import <RunCollector.h>

Inheritance diagram for RunCollector:
Inheritance graph
[legend]
Collaboration diagram for RunCollector:
Collaboration graph
[legend]

Instance Methods

(void) - setInput:name:
 
(void) - setOutput:name:
 
(void) - startCollecting:
 
(void) - stopCollecting
 Stop filling the dataStore.
 
(void) - trim
 Tell the dataStore to trim its data.
 
(BOOL) - recordTransmission:at:
 
(BOOL) - recordReception:at:
 

Protected Attributes

NSString * lastTransmission
 Internal: records most recently transmitted data.
 
uint64_t lastTransmissionTime
 Internal: records timestamp of most recent transmission.
 
BOOL lastTransmissionReceived
 Internal: true when lastTramsnission has already been received.
 
MeasurementDataStoredataStore
 Where this RunCollector should store the measurements.
 

Properties

double average
 accessor for dataStore average
 
double stddev
 accessor for dataStore stddev
 
int count
 accessor for dataStore count
 

Detailed Description

Helper object for BaseRunManager. Records transmission and reception times and populates MeasurementDataStore. During compile time the decision can be made to either have RunCollector use an internal clock, or use a clock defined externally and assigned in the NIB. The latter is better, and will normally use a clock provided by the input driver.

Method Documentation

◆ recordReception:at:()

- (BOOL) recordReception: (NSString*)  data
at: (uint64_t)  now 

Called when something has been received.

Parameters
datathe data received
nowthe clock time at the moment the data was received
Returns
true if this data matches the last transmission If the data matches the last transmission and it has not been received previously then a new delay sample is stored in the dataStore and true is returned. This will signal the run manager to start a new measurement cycle.

◆ recordTransmission:at:()

- (BOOL) recordTransmission: (NSString*)  data
at: (uint64_t)  now 

Called when a transmission has been done.

Parameters
datathe data transmitted, recorded in lastTransmission
nowthe clock time the data was transmitted, recorded in lastTransmissionTime
Returns
always true, at the moment

◆ setInput:name:()

- (void) setInput: (NSString*)  inputId
name: (NSString*)  inputName 

Fill RunCollector input parameters.

Parameters
inputIdthe input device in somewhat-human-readable form
inputNamethe input device in human readable (but possibly ambiguous) form

◆ setOutput:name:()

- (void) setOutput: (NSString*)  outputId
name: (NSString*)  outputName 

Fill RunCollector output parameters.

Parameters
outputIdthe output device in somewhat-human-readable form
outputNamethe output device in human readable (but possibly ambiguous) form

◆ startCollecting:()

- (void) startCollecting: (NSString*)  scenario

Signals that this RunCollector should start filling its dataStore. The input and output calibrations should have been set previously and are used to fill the devices.

Parameters
scenariothe measurement type in somewhat-human-readable form

The documentation for this class was generated from the following files: