12 #ifndef ROC_RTCP_XR_TRAVERSER_H_
13 #define ROC_RTCP_XR_TRAVERSER_H_
72 bool check_measurement_info_();
73 bool check_delay_metrics_();
74 bool check_queue_metrics_();
104 size_t blocks_count_;
State next()
Advance iterator.
const header::XrMeasurementInfoBlock & get_measurement_info() const
Get measurement info block.
bool error() const
Check if there were any parsing errors.
const header::XrDelayMetricsBlock & get_delay_metrics() const
Get delay metrics block.
@ DLRR_BLOCK
DLRR block (delay since last receiver report).
@ DELAY_METRICS_BLOCK
Delay metrics block.
@ RRTR_BLOCK
RRTR block (receiver reference time).
@ END
Parsed whole packet.
@ MEASUREMENT_INFO_BLOCK
Measurement information block.
@ QUEUE_METRICS_BLOCK
Queue metrics block.
const header::XrQueueMetricsBlock & get_queue_metrics() const
Get queue metrics block.
const header::XrDlrrBlock & get_dlrr() const
Get DLRR block (delay since last receiver report).
const header::XrRrtrBlock & get_rrtr() const
Get RRTR block (receiver reference time).
const header::XrPacket & packet() const
Get XR packet.
bool parse()
Parse packet from buffer.
size_t blocks_count() const
Get number of XR blocks in packet.
Iterator iter() const
Construct iterator.
XrTraverser(const core::Slice< uint8_t > &buf)
Initialize traverser. It will parse and iterate provided buffer.
Commonly used types and functions.