recursal/MDN huggingface dataset:
RTCIceCandidatePairStats: bytesSent property
============================================

 The `RTCIceCandidatePairStats` property
 **`bytesSent`** indicates the total number of payload
 bytes—that is, bytes which aren't overhead such as headers or padding—that have been
 sent so far on the connection described by the candidate pair.

 The `bytesReceived` property
 reports the number of bytes received so far on the described connection.

Syntax
------


```js
sent = rtcIceCandidatePairStats.bytesSent
```

### Value

 An integer value indicating the total number of bytes sent so far on the connection
 described by this candidate pair. Only data bytes are counted; overhead such as padding,
 headers, and the like are not included in this count.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-bytessent |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: timestamp property
============================================

The **`timestamp`** property of the `RTCIceCandidatePairStats` dictionary is a `DOMHighResTimeStamp` object specifying the time at which the data in the object was sampled.

Value
-----

A `DOMHighResTimeStamp` value indicating the time at which the activity described by the statistics in this object was recorded, in milliseconds elapsed since the beginning of January 1, 1970, UTC.

The value should be accurate to within a few milliseconds but may not be entirely precise, either because of hardware or operating system limitations or because of fingerprinting protection in the form of reduced clock precision or accuracy.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcstats-timestamp |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: requestsSent property
===============================================

 The `RTCIceCandidatePairStats` dictionary's
 **`requestsSent`** property indicates the total number of
 STUN connectivity check requests that have been sent so far on the
 connection described by this pair of candidates.

Value
-----

 An integer value which specifies the number of STUN connectivity requests that have
 been sent to date on the connection described by this pair of ICE
 candidates.


**Note:** The reported number of requests *does not* include
 retransmissions. If a request had to be repeated due to network issues, it will be
 counted multiple times here. This differs from
 `requestsReceived`, which
 *does* include retransmissions.


Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-requestssent |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: transportId property
==============================================

 The **`transportId`** property
 uniquely identifies the `RTCIceTransport` that was inspected to obtain
 the transport-related statistics contained in the
 `RTCIceCandidatePairStats` object.

Value
-----

 A string which uniquely identifies the `RTCIceTransport`
 object from which the transport-related data was obtained for the statistics contained
 in this `RTCIceCandidatePairStats` object.

 The transport-related statistics come from the `RTCTransportStats`
 dictionary's properties.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-transportid |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: writable property
===========================================

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

**Non-standard:** This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

 The *obsolete* `RTCIceCandidatePairStats`
 property **`writable`** reports whether or not the connection
 described by the candidate pair is writable.

Value
-----

 A Boolean value which is `true` if the connection described by this
 candidate pair has received acknowledgement of receipt (ACK) for at least one ICE
 request *and* that STUN consent hasn't expired.


**Note:** This property was removed from the specification in early 2017
 because you can determine whether or not an incoming ICE request is available to read
 by checking to see if `responsesReceived` is greater than 0 and that the time specified by
 `consentExpiredTimestamp` has not passed:



```js
if (
  icpStats.responsesReceived > 0 &&
  icpStats.consentExpiredTimestamp < performance.now()
) {
  /\* at least one ICE response has been received \*/
}
```


Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: bytesReceived property
================================================

 The `RTCIceCandidatePairStats` property
 **`bytesReceived`** indicates the total number of payload
 bytes—that is, bytes which aren't overhead such as headers or padding—that have been
 received to date on the connection described by the candidate pair.

 The `bytesSent` property reports the
 number of bytes sent so far on the described connection.

Value
-----

 An integer value indicating the total number of bytes received so far on the connection
 described by this candidate pair. Only data bytes are counted; overhead such as padding,
 headers, and the like are not included in this count.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-bytesreceived |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: id property
=====================================

The **`id`** property of the `RTCIceCandidatePairStats` dictionary is a string that uniquely identifies the object for which this object provides statistics.

Using the `id`, you can correlate this statistics object with others, in order to monitor statistics over time for a given WebRTC object, such as an `RTCPeerConnection`, or an `RTCDataChannel`.

Value
-----

A string that uniquely identifies the object for which this `RTCIceCandidatePairStats` object provides statistics.

The format of the ID string is not defined by the specification, so you cannot reliably make any assumptions about the contents of the string, or assume that the format of the string will remain unchanged for a given object type.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcstats-id |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: state property
========================================

The **`state`** property is a string that indicates the state of the checklist of which the candidate pair is a member.

Value
-----

A string whose value is one of the following:

`failed`

A check for this pair has been performed but failed. A failure can occur either because no response was received or because the response indicated that an unrecoverable error occurred.

`frozen`

No check has been performed yet for this candidate pair, and performing the check is blocked until another check is successful. Once that check has succeeded, this pair will unfreeze and move into the `waiting` state.

`in-progress`

A check has been initiated for this pair, but the check's transaction is still in progress.

`succeeded`

A check for this pair has been completed successfully.

`waiting`

This pair has not yet been checked, but the check can be performed as soon as this pair is the highest priority pair remaining in the `waiting` state.

ICE check lists
---------------

 During ICE negotiation, the ICE layer builds up a *checklist*, which is
 a list of potential pairings of ICE candidates. Each pair has a state, represented by a string literal.

![A diagram showing how ICE candidate pairs change state as the checklist is analyzed](/en-US/docs/Web/API/RTCIceCandidatePairStats/state/ice-check-list-states.svg)

 When a candidate pair is added to the checklist, it begins in the `frozen`
 state. As soon as there are no checks ongoing that block the pair from being analyzed,
 it is unfrozen and moves into the `waiting` state. This may happen
 immediately upon being added to the checklist.

 Each time a candidate pair is checked, the next-highest priority candidate
 pair remaining on the checklist moves from the `waiting` state to the
 `in-progress` state, and its check begins. If the check fails for any reason,
 the pair moves into its final state, `failed`. If the check succeeds, the
 pair ends up in the `succeeded` state.
 The ICE checklist state for any given pair of ICE candidates can be found in the
 corresponding `state` property.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-state |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: nominated property
============================================

 The `RTCIceCandidatePairStats` property
 **`nominated`** specifies whether or not the candidate pair
 described by the underlying `RTCIceCandidatePair` has been nominated to be
 used as the configuration for the WebRTC connection.

Value
-----

 A Boolean value which is set to `true` by the ICE layer if the controlling
 user agent has indicated that the candidate pair should be used to configure the WebRTC
 connection between the two peers.


**Note:** If more than one candidate pair are nominated at the same
 time, the one whose priority is higher will be selected for use.


 Once a candidate pair has been nominated and the two peers have each reconfigured
 themselves to use the specified configuration, the ICE negotiation process can
 potentially end (or it can continue, to allow the connection to adapt to changing
 conditions).

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-nominated |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidateStats: localCandidateId property
===============================================

 The `RTCIceCandidatePairStats` property
 **`localCandidateId`** is a string that uniquely identifies
 the local ICE candidate which was analyzed to generate the
 `RTCIceCandidateStats` used to compute the statistics for this pair of
 candidates.

Value
-----

 A string giving a unique identifier for the local
 `RTCIceCandidate` for the connection described by this
 `RTCIceCandidatePairStats` object.

 This candidate is the source of one of the two `RTCIceCandidateStats`
 objects that were used to compute the contents of this
 `RTCIceCandidatePairStats` object.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-localcandidateid |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: responsesReceived property
====================================================

 The **`responsesReceived`** property
 in the `RTCIceCandidatePairStats` dictionary indicates the total number
 of STUN connectivity check responses that have been received on the
 connection described by this pair of candidates.

Value
-----

 An integer value which specifies the number of STUN connectivity request responses that
 have been received on the connection described by this pair of candidates so far.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-responsesreceived |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: responsesSent property
================================================

 The `RTCIceCandidatePairStats` dictionary's
 **`responsesSent`** property indicates the total number of
 STUN connectivity check responses that have been sent so far on the
 connection described by this pair of candidates.

Value
-----

 An integer value indicating the number of times a response has been sent to a
 STUN connectivity check request.


**Note:** Since it isn't possible to tell the difference between
 connectivity check requests and consent requests, this value includes both.


Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-responsessent |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: totalRoundTripTime property
=====================================================

 The `RTCIceCandidatePairStats` dictionary's
 **`totalRoundTripTime`** property is the total time that has
 elapsed between sending STUN requests and receiving the responses, for
 all such requests that have been made so far on the pair of candidates described by
 this `RTCIceCandidatePairStats` object. This value includes both
 connectivity check and consent check requests.

Value
-----

 This floating-point value indicates the total number of seconds which have elapsed
 between sending out STUN connectivity and consent check requests and receiving their
 responses, for all such requests made so far on the connection described by this
 candidate pair.

 You can calculate the average round-trip time (RTT) by dividing this value by the value
 of the `responsesReceived`
 property:


```js
rtt =
  rtcIceCandidatePairStats.totalRoundTripTime /
  rtcIceCandidatePairStats.responsesReceived;
```

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-totalroundtriptime |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: type property
=======================================

The **`type`** property of the `RTCIceCandidatePairStats` dictionary is a string with the value `"candidate-pair"`.

 Different statistics are obtained by iterating the `RTCStatsReport` object returned by a call to `RTCPeerConnection.getStats()`.
 The type indicates the set of statistics available through the object in a particular iteration step.
 A value of `"candidate-pair"` indicates that the statistics available in the current step are those defined in `RTCIceCandidatePairStats`.

Value
-----

A string with the value `"candidate-pair"`.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcstats-type |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: remoteCandidateId property
====================================================

 The `RTCIceCandidatePairStats` property
 **`remoteCandidateId`** is a string that uniquely identifies
 the remote ICE candidate which was analyzed to generate the
 `RTCIceCandidateStats` used to compute the statistics for this pair of
 candidates.

Value
-----

 A string uniquely identifies the remote ICE
 candidate—that is, the candidate describing a configuration for the remote peer—which is
 represented by the remote end of these statistics.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-remotecandidateid |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: availableIncomingBitrate property
===========================================================

 The `RTCIceCandidatePairStats` property
 **`availableIncomingBitrate`** returns a value indicative of
 the available inbound capacity of the network connection represented by the candidate
 pair. The higher the value, the more bandwidth you can assume is available for
 incoming data.

 You can get the outgoing available bitrate from
 `availableoutgoingBitrate`.

Syntax
------


```js
availableIncomingBitrate = rtcIceCandidatePairStats.availableIncomingBitrate
```

### Value

 A floating-point value which approximates the amount of available bandwidth for
 incoming data on the network connection described by the
 `RTCIceCandidatePair`. The value is reported in bits per second and is
 computed over a 1-second interval.

 The value returned is calculated by adding up the available bit rate for every
 RTP stream using the connection described by this candidate pair. The
 returned value doesn't take into account overhead introduced by underlying protocols,
 including IP, UDP, or TCP.


**Note:** The returned value is computed using a method similar—but not
 identical—to the Transport Independent Application Specific Maximum (TIAS) described
 in RFC 3890, section 6.2.


Specifications
--------------

#### No specification found

No specification data found for `api.RTCIceCandidatePairStats.availableIncomingBitrate`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: requestsReceived property
===================================================

 The `RTCIceCandidatePairStats` dictionary's
 **`requestsReceived`** property indicates the total number of
 STUN connectivity check requests that have been received so far on the
 connection described by this pairing of candidates.

Value
-----

 An integer value which specifies the number of STUN connectivity and/or consent
 requests that have been received to date on the connection described by this pair of
 ICE candidates.

 Because there's no way to tell the difference between requests made to check
 connectivity and requests made to check consent, the returned figure includes both.


**Note:** The reported number of requests includes retransmissions. If a
 request had to be repeated due to network issues, it will be counted multiple times
 here. This differs from `requestsSent`, which *does not* include retransmisions.


Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-requestsreceived |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidateStats: lastPacketSentTimestamp property
======================================================

 The `RTCIceCandidatePairStats` property
 **`lastPacketSentTimestamp`** indicates the time at which the
 connection described by the candidate pair last sent a packet, not including
 STUN packets.

Value
-----

 A `DOMHighResTimeStamp` object indicating the timestamp at which the
 connection described by pair of candidates last sent a packet, STUN packets excluded.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-lastpacketsenttimestamp |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: priority property
===========================================

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

 The *obsolete* `RTCIceCandidatePairStats`
 property **`priority`** reports the priority of the candidate
 pair as an integer value. The higher the value, the more likely the WebRTC
 layer is to select the candidate pair when the time comes to establish (or re-establish)
 a connection between the two peers.

Value
-----

 An integer value indicating the priority of this pair of candidates as compared to
 other pairs on the same peer connection. The higher this value, the better the WebRTC
 layer thinks this pair of candidates is compared to the others, and the more likely a
 pair is to be selected for use.


**Note:** This property was removed from the specification as its value
 cannot be guaranteed to be accurately represented in a JavaScript number. You can
 calculate its value using the algorithm described in RFC 5245, section 5.7.2 if
 you need this information and can accept the risk that the result may not be entirely
 accurate.


Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-priority |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
RTCIceCandidatePairStats: lastPacketReceivedTimestamp property
==============================================================

 The `RTCIceCandidatePairStats` property
 **`lastPacketReceivedTimestamp`** indicates the time at which
 the connection described by the candidate pair last received a packet.
 STUN packets are not included.

Value
-----

 A `DOMHighResTimeStamp` object indicating the timestamp at which the
 connection described by pair of candidates last received a packet, STUN packets
 excluded.

Specifications
--------------

| Specification |
| --- |
| Identifiers for WebRTC's Statistics API # dom-rtcicecandidatepairstats-lastpacketreceivedtimestamp |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.