Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::rtcp::XrTraverser::Iterator Class Reference

Packet iterator. More...

#include <xr_traverser.h>

Public Types

enum  State {
  BEGIN , RRTR_BLOCK , DLRR_BLOCK , MEASUREMENT_INFO_BLOCK ,
  DELAY_METRICS_BLOCK , QUEUE_METRICS_BLOCK , END
}
 Iterator state. More...
 

Public Member Functions

State next ()
 Advance iterator. More...
 
bool error () const
 Check if there were any parsing errors. More...
 
const header::XrRrtrBlockget_rrtr () const
 Get RRTR block (receiver reference time). More...
 
const header::XrDlrrBlockget_dlrr () const
 Get DLRR block (delay since last receiver report). More...
 
const header::XrMeasurementInfoBlockget_measurement_info () const
 Get measurement info block. More...
 
const header::XrDelayMetricsBlockget_delay_metrics () const
 Get delay metrics block. More...
 
const header::XrQueueMetricsBlockget_queue_metrics () const
 Get queue metrics block. More...
 

Friends

class XrTraverser
 

Detailed Description

Packet iterator.

Definition at line 26 of file xr_traverser.h.

Member Enumeration Documentation

◆ State

Iterator state.

Enumerator
BEGIN 

Iterator created.

RRTR_BLOCK 

RRTR block (receiver reference time).

DLRR_BLOCK 

DLRR block (delay since last receiver report).

MEASUREMENT_INFO_BLOCK 

Measurement information block.

DELAY_METRICS_BLOCK 

Delay metrics block.

QUEUE_METRICS_BLOCK 

Queue metrics block.

END 

Parsed whole packet.

Definition at line 29 of file xr_traverser.h.

Member Function Documentation

◆ error()

bool roc::rtcp::XrTraverser::Iterator::error ( ) const

Check if there were any parsing errors.

◆ get_delay_metrics()

const header::XrDelayMetricsBlock& roc::rtcp::XrTraverser::Iterator::get_delay_metrics ( ) const

Get delay metrics block.

Precondition
Can be used if next() returned DELAY_METRICS_BLOCK

◆ get_dlrr()

const header::XrDlrrBlock& roc::rtcp::XrTraverser::Iterator::get_dlrr ( ) const

Get DLRR block (delay since last receiver report).

Precondition
Can be used if next() returned DLRR_BLOCK.

◆ get_measurement_info()

const header::XrMeasurementInfoBlock& roc::rtcp::XrTraverser::Iterator::get_measurement_info ( ) const

Get measurement info block.

Precondition
Can be used if next() returned RRTR_MEASUREMENT_INFO_BLOCK

◆ get_queue_metrics()

const header::XrQueueMetricsBlock& roc::rtcp::XrTraverser::Iterator::get_queue_metrics ( ) const

Get queue metrics block.

Precondition
Can be used if next() returned QUEUE_METRICS_BLOCK

◆ get_rrtr()

const header::XrRrtrBlock& roc::rtcp::XrTraverser::Iterator::get_rrtr ( ) const

Get RRTR block (receiver reference time).

Precondition
Can be used if next() returned RRTR_BLOCK.

◆ next()

State roc::rtcp::XrTraverser::Iterator::next ( )

Advance iterator.


The documentation for this class was generated from the following file: