ifw-rtmstools 4.0.0
 
Loading...
Searching...
No Matches
ifw::rtmstools::llnetio::RtmsReceiverTool Class Reference

RtmsReceiverTool class/llnetio version. More...

#include <rtmsReceiverTool.hpp>

Inheritance diagram for ifw::rtmstools::llnetio::RtmsReceiverTool:

Public Member Functions

 RtmsReceiverTool (const std::string &receiver_ip, const std::string &interface_name, const int port, const ifw::fnd::datatype::DataType data_type, const ifw::rtmslib::ReceiverConfig &rcv_cfg, uint32_t samples_requested, bool print_sample_details)
 
virtual void HandleSampleUser (ifw::rtmslib::SampleExtInfo &ext_info, std::vector< uint8_t > &sample_payload)
 
std::string GenerateReport () const
 
ReceiverToolStats GetStatistics () const
 
void StopReceiving ()
 
void ResetIntervalStats ()
 
void UpdateIntervalStats (double interval_ms)
 

Public Attributes

uint32_t m_samples_requested {0}
 
uint32_t m_samples_received {0}
 
uint32_t m_samples_lost {0}
 
uint32_t m_last_sample_id {0}
 
uint64_t m_total_bytes {0}
 
std::chrono::steady_clock::time_point m_start_time {}
 
std::chrono::steady_clock::time_point m_last_sample_time {}
 
double m_min_interval_ms {std::numeric_limits<double>::max()}
 
double m_max_interval_ms {0.0}
 
double m_sum_interval_ms {0.0}
 
uint64_t m_interval_count {0}
 
double m_interval_mean_ms {0.0}
 
double m_interval_m2_ms {0.0}
 
bool m_print_sample_details {false}
 

Detailed Description

RtmsReceiverTool class/llnetio version.

RTMS receive class which merely receives the RTMS packets and keeps track of lost packets and samples and computes statistics.

Constructor & Destructor Documentation

◆ RtmsReceiverTool()

ifw::rtmstools::llnetio::RtmsReceiverTool::RtmsReceiverTool ( const std::string & receiver_ip,
const std::string & interface_name,
const int port,
const ifw::fnd::datatype::DataType data_type,
const ifw::rtmslib::ReceiverConfig & rcv_cfg,
uint32_t samples_requested,
bool print_sample_details )

Member Function Documentation

◆ GenerateReport()

std::string ifw::rtmstools::llnetio::RtmsReceiverTool::GenerateReport ( ) const

◆ GetStatistics()

ReceiverToolStats ifw::rtmstools::llnetio::RtmsReceiverTool::GetStatistics ( ) const

◆ HandleSampleUser()

void ifw::rtmstools::llnetio::RtmsReceiverTool::HandleSampleUser ( ifw::rtmslib::SampleExtInfo & ext_info,
std::vector< uint8_t > & sample_payload )
virtual

◆ ResetIntervalStats()

void ifw::rtmstools::llnetio::RtmsReceiverTool::ResetIntervalStats ( )

◆ StopReceiving()

void ifw::rtmstools::llnetio::RtmsReceiverTool::StopReceiving ( )
inline

◆ UpdateIntervalStats()

void ifw::rtmstools::llnetio::RtmsReceiverTool::UpdateIntervalStats ( double interval_ms)

Member Data Documentation

◆ m_interval_count

uint64_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_interval_count {0}

◆ m_interval_m2_ms

double ifw::rtmstools::llnetio::RtmsReceiverTool::m_interval_m2_ms {0.0}

◆ m_interval_mean_ms

double ifw::rtmstools::llnetio::RtmsReceiverTool::m_interval_mean_ms {0.0}

◆ m_last_sample_id

uint32_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_last_sample_id {0}

◆ m_last_sample_time

std::chrono::steady_clock::time_point ifw::rtmstools::llnetio::RtmsReceiverTool::m_last_sample_time {}

◆ m_max_interval_ms

double ifw::rtmstools::llnetio::RtmsReceiverTool::m_max_interval_ms {0.0}

◆ m_min_interval_ms

double ifw::rtmstools::llnetio::RtmsReceiverTool::m_min_interval_ms {std::numeric_limits<double>::max()}

◆ m_print_sample_details

bool ifw::rtmstools::llnetio::RtmsReceiverTool::m_print_sample_details {false}

◆ m_samples_lost

uint32_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_samples_lost {0}

◆ m_samples_received

uint32_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_samples_received {0}

◆ m_samples_requested

uint32_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_samples_requested {0}

◆ m_start_time

std::chrono::steady_clock::time_point ifw::rtmstools::llnetio::RtmsReceiverTool::m_start_time {}

◆ m_sum_interval_ms

double ifw::rtmstools::llnetio::RtmsReceiverTool::m_sum_interval_ms {0.0}

◆ m_total_bytes

uint64_t ifw::rtmstools::llnetio::RtmsReceiverTool::m_total_bytes {0}

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