pub struct RtcIceCandidatePairStats {
pub state: IceCandidatePairState,
pub nominated: bool,
pub bytes_sent: u64,
pub bytes_received: u64,
pub total_round_trip_time: Option<HighResTimeStamp>,
pub current_round_trip_time: Option<HighResTimeStamp>,
pub available_outgoing_bitrate: Option<u64>,
}
Expand description
ICE candidate pair statistics related to the RTCIceTransport objects.
A candidate pair that is not the current pair for a transport is
deleted when the RTCIceTransport does an ICE restart, at the time
the state changes to new
.
The candidate pair that is the current pair for a transport is deleted after an ICE restart when the RTCIceTransport switches to using a candidate pair generated from the new candidates; this time doesn’t correspond to any other externally observable event.
RtcStatsType::CandidatePair
variant.
Fields§
§state: IceCandidatePairState
State of the checklist for the local and remote candidates in a pair.
nominated: bool
Related to updating the nominated flag described in Section 7.1.3.2.4 of RFC 5245.
bytes_sent: u64
Total number of payload bytes sent on this candidate pair, i.e. not including headers or padding.
bytes_received: u64
Total number of payload bytes received on this candidate pair, i.e. not including headers or padding.
total_round_trip_time: Option<HighResTimeStamp>
Sum of all round trip time measurements in seconds since the beginning of the session, based on STUN connectivity check STUN-PATH-CHAR responses (responsesReceived), including those that reply to requests that are sent in order to verify consent RFC 7675.
The average round trip time can be computed from
totalRoundTripTime
by dividing it by responsesReceived
.
current_round_trip_time: Option<HighResTimeStamp>
Latest round trip time measured in seconds, computed from both STUN connectivity checks STUN-PATH-CHAR, including those that are sent for consent verification RFC 7675.
available_outgoing_bitrate: Option<u64>
Calculated by the underlying congestion control by combining the available bitrate for all the outgoing RTP streams using this candidate pair. The bitrate measurement does not count the size of the IP or other transport layers like TCP or UDP. It is similar to the TIAS defined in RFC 3890, i.e. it is measured in bits per second and the bitrate is calculated over a 1 second window.
Implementations that do not calculate a sender-side estimate MUST leave
this undefined. Additionally, the value MUST be undefined for candidate
pairs that were never used. For pairs in use, the estimate is normally
no lower than the bitrate for the packets sent at
lastPacketSentTimestamp
, but might be higher. For candidate
pairs that are not currently in use but were used before,
implementations MUST return undefined.
Trait Implementations§
source§impl Clone for RtcIceCandidatePairStats
impl Clone for RtcIceCandidatePairStats
source§fn clone(&self) -> RtcIceCandidatePairStats
fn clone(&self) -> RtcIceCandidatePairStats
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RtcIceCandidatePairStats
impl Debug for RtcIceCandidatePairStats
source§impl<'de> Deserialize<'de> for RtcIceCandidatePairStats
impl<'de> Deserialize<'de> for RtcIceCandidatePairStats
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl Hash for RtcIceCandidatePairStats
impl Hash for RtcIceCandidatePairStats
source§impl PartialEq<RtcIceCandidatePairStats> for RtcIceCandidatePairStats
impl PartialEq<RtcIceCandidatePairStats> for RtcIceCandidatePairStats
source§fn eq(&self, other: &RtcIceCandidatePairStats) -> bool
fn eq(&self, other: &RtcIceCandidatePairStats) -> bool
self
and other
values to be equal, and is used
by ==
.