RtcRemoteInboundRtpStreamStats

Struct RtcRemoteInboundRtpStreamStats 

Source
pub struct RtcRemoteInboundRtpStreamStats {
    pub received_stream: RtcReceivedRtpStreamStats,
    pub local_id: Option<String>,
    pub round_trip_time: Option<Double>,
    pub total_round_trip_time: Option<Double>,
    pub fraction_lost: Option<Double>,
    pub round_trip_time_measurements: Option<u64>,
    pub packets_with_bleached_ect1_marking: Option<u64>,
}
Expand description

Remote endpoint’s measurement metrics for a particular incoming RTP stream (corresponding to an outgoing RTP stream at the sending endpoint).

The timestamp reported in the statistics object is the time at which the corresponding RTCP RR was received.

Full doc on W3C.

Fields§

§received_stream: RtcReceivedRtpStreamStats

Generic ingress RTP stream data.

§local_id: Option<String>

Identifier of the local RtcOutboundRtpStreamStats object for the same SSRC.

§round_trip_time: Option<Double>

Estimated round trip time for this SSRC based on the RTCP timestamps in the RTCP Receiver Report (RR) and measured in seconds.

Calculated as defined in Section 6.4.1 of RFC3550.

MUST NOT exist until a RTCP Receiver Report is received with a DLSR value other than 0 has been received.

§total_round_trip_time: Option<Double>

Cumulative sum of all round trip time measurements in seconds since the beginning of the session.

The individual round trip time is calculated based on the RTCP timestamps in the RTCP Receiver Report (RR) RFC3550, hence requires a DLSR value other than 0.

The average round trip time can be computed from the total_round_trip_time by dividing it by round_trip_time_measurements.

§fraction_lost: Option<Double>

Fraction packet loss reported for this SSRC.

Calculated as defined in RFC3550 Section 6.4.1 and Appendix A.3.

§round_trip_time_measurements: Option<u64>

Total number of RTCP RR blocks received for this SSRC that contain a valid round trip time.

This counter will not increment if the round_trip_time can not be calculated because no RTCP Receiver Report with a DLSR value other than 0 has been received.

§packets_with_bleached_ect1_marking: Option<u64>

Number of packets that were sent with ECT(1) markings per RFC3168 Section 3, but where an RFC8888 report gave information that the packet was received with a marking of “not-ECT”.

Trait Implementations§

Source§

impl Clone for RtcRemoteInboundRtpStreamStats

Source§

fn clone(&self) -> RtcRemoteInboundRtpStreamStats

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RtcRemoteInboundRtpStreamStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for RtcRemoteInboundRtpStreamStats

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Hash for RtcRemoteInboundRtpStreamStats

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for RtcRemoteInboundRtpStreamStats

Source§

fn eq(&self, other: &RtcRemoteInboundRtpStreamStats) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for RtcRemoteInboundRtpStreamStats

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for RtcRemoteInboundRtpStreamStats

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,