The concepts and networking task source are defined in [].
The concept fire an event is defined in [].
The terms event, and event handler event types are defined in [].
Performance
. and Performance
.()
are defined in [hr-time].
The terms , serialization steps, and are defined in [HTML].
The term is defined in [FILEAPI].
The term media description is defined in [].
The term media transport is defined in [RFC7656].
The term generation is defined in [] Section 2.
The terms stats object and are defined in [WEBRTC-STATS].
The callback is defined in [WEBIDL].
The term “throw” is used as specified in []: it terminates the current processing steps.
The terms fulfilled, rejected, resolved, pending and settled used in the context of Promises are defined in [ECMASCRIPT-6.0].
The terms bundle, bundle-only and bundle-policy are defined in [].
The AlgorithmIdentifier is defined in [].
The general principles for Javascript APIs apply, including the principle of run-to-completion and no-data-races as defined in []. That is, while a task is running, external events do not influence what’s visible to the Javascript application. For example, the amount of data buffered on a data channel will increase due to “send” calls while Javascript is executing, and the decrease due to packets being sent will be visible after a task checkpoint.
It is the responsibility of the user agent to make sure the set of values presented to the application is consistent - for instance that getContributingSources() (which is synchronous) returns values for all sources measured at the same time.