Struct medea_client_api_proto::stats::RtcIceCandidatePairStats [−][src]
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
impl Clone for RtcIceCandidatePairStats
[src]
fn clone(&self) -> RtcIceCandidatePairStats
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for RtcIceCandidatePairStats
[src]
impl<'de> Deserialize<'de> for RtcIceCandidatePairStats
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Hash for RtcIceCandidatePairStats
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<RtcIceCandidatePairStats> for RtcIceCandidatePairStats
[src]
fn eq(&self, other: &RtcIceCandidatePairStats) -> bool
[src]
fn ne(&self, other: &RtcIceCandidatePairStats) -> bool
[src]
impl Serialize for RtcIceCandidatePairStats
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for RtcIceCandidatePairStats
[src]
Auto Trait Implementations
impl RefUnwindSafe for RtcIceCandidatePairStats
impl Send for RtcIceCandidatePairStats
impl Sync for RtcIceCandidatePairStats
impl Unpin for RtcIceCandidatePairStats
impl UnwindSafe for RtcIceCandidatePairStats
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,