Struct rtcp::extended_report::ssr::StatisticsSummaryReportBlock
source · pub struct StatisticsSummaryReportBlock {Show 17 fields
pub loss_reports: bool,
pub duplicate_reports: bool,
pub jitter_reports: bool,
pub ttl_or_hop_limit: TTLorHopLimitType,
pub ssrc: u32,
pub begin_seq: u16,
pub end_seq: u16,
pub lost_packets: u32,
pub dup_packets: u32,
pub min_jitter: u32,
pub max_jitter: u32,
pub mean_jitter: u32,
pub dev_jitter: u32,
pub min_ttl_or_hl: u8,
pub max_ttl_or_hl: u8,
pub mean_ttl_or_hl: u8,
pub dev_ttl_or_hl: u8,
}Expand description
StatisticsSummaryReportBlock encodes a Statistics Summary Report Block as described in RFC 3611, section 4.6.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=6 |L|D|J|ToH|rsvd.| block length = 9 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ssrc of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | min_jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | max_jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | mean_jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dev_jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | min_ttl_or_hl | max_ttl_or_hl |mean_ttl_or_hl | dev_ttl_or_hl | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fields§
§loss_reports: bool§duplicate_reports: bool§jitter_reports: bool§ttl_or_hop_limit: TTLorHopLimitType§ssrc: u32§begin_seq: u16§end_seq: u16§lost_packets: u32§dup_packets: u32§min_jitter: u32§max_jitter: u32§mean_jitter: u32§dev_jitter: u32§min_ttl_or_hl: u8§max_ttl_or_hl: u8§mean_ttl_or_hl: u8§dev_ttl_or_hl: u8Implementations§
source§impl StatisticsSummaryReportBlock
impl StatisticsSummaryReportBlock
sourcepub fn xr_header(&self) -> XRHeader
pub fn xr_header(&self) -> XRHeader
Examples found in repository?
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
fn marshal_to(&self, mut buf: &mut [u8]) -> Result<usize> {
if buf.remaining_mut() < self.marshal_size() {
return Err(error::Error::BufferTooShort.into());
}
let h = self.xr_header();
let n = h.marshal_to(buf)?;
buf = &mut buf[n..];
buf.put_u32(self.ssrc);
buf.put_u16(self.begin_seq);
buf.put_u16(self.end_seq);
buf.put_u32(self.lost_packets);
buf.put_u32(self.dup_packets);
buf.put_u32(self.min_jitter);
buf.put_u32(self.max_jitter);
buf.put_u32(self.mean_jitter);
buf.put_u32(self.dev_jitter);
buf.put_u8(self.min_ttl_or_hl);
buf.put_u8(self.max_ttl_or_hl);
buf.put_u8(self.mean_ttl_or_hl);
buf.put_u8(self.dev_ttl_or_hl);
Ok(self.marshal_size())
}Trait Implementations§
source§impl Clone for StatisticsSummaryReportBlock
impl Clone for StatisticsSummaryReportBlock
source§fn clone(&self) -> StatisticsSummaryReportBlock
fn clone(&self) -> StatisticsSummaryReportBlock
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for StatisticsSummaryReportBlock
impl Debug for StatisticsSummaryReportBlock
source§impl Default for StatisticsSummaryReportBlock
impl Default for StatisticsSummaryReportBlock
source§fn default() -> StatisticsSummaryReportBlock
fn default() -> StatisticsSummaryReportBlock
source§impl MarshalSize for StatisticsSummaryReportBlock
impl MarshalSize for StatisticsSummaryReportBlock
fn marshal_size(&self) -> usize
source§impl Packet for StatisticsSummaryReportBlock
impl Packet for StatisticsSummaryReportBlock
source§fn destination_ssrc(&self) -> Vec<u32>
fn destination_ssrc(&self) -> Vec<u32>
destination_ssrc returns an array of ssrc values that this report block refers to.
fn header(&self) -> Header
fn raw_size(&self) -> usize
fn as_any(&self) -> &(dyn Any + Send + Sync)
fn equal(&self, other: &(dyn Packet + Send + Sync)) -> bool
fn cloned(&self) -> Box<dyn Packet + Send + Sync>
source§impl PartialEq<StatisticsSummaryReportBlock> for StatisticsSummaryReportBlock
impl PartialEq<StatisticsSummaryReportBlock> for StatisticsSummaryReportBlock
source§fn eq(&self, other: &StatisticsSummaryReportBlock) -> bool
fn eq(&self, other: &StatisticsSummaryReportBlock) -> bool
self and other values to be equal, and is used
by ==.