ifw-fgf 1.0.0-pre1
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ifw::fgf::common::RtmsPublisher Class Reference

RTMS Publisher. More...

#include <rtmsPublisher.hpp>

Public Member Functions

 RtmsPublisher (const std::string address, const int port, const std::string netif="", const double packet_send_delay=0)
 
virtual ~RtmsPublisher ()
 
void StartPubThread ()
 
void StopPubThread ()
 
void StartPublishing ()
 
void InitPublisher (size_t raw_image_size, int bytes_per_pixel)
 
void Run ()
 Implements infinite loop waiting for new images.
 
void ComputeLatency ()
 
bool GetComputeLatency () const
 
void ResetLatency ()
 
void GetFirstPacketSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples)
 
void GetFrameSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples)
 

Public Attributes

boost::asio::io_context m_ioc
 
std::string m_address {""}
 
int m_port {0}
 
std::string m_netif {""}
 
int m_topicid {10}
 
int m_sampleid {500}
 
std::unique_ptr< ifw::fgf::common::MudpiCreatorParallelm_mudpi_creator
 
std::unique_ptr< mudpiif::mudpiSenderJumbo > m_mudpi_sender
 

Static Public Attributes

static std::atomic< boolm_stopped {false}
 
static boost::lockfree::spsc_queue< std::shared_ptr< RawImage >, boost::lockfree::capacity< 5 > > spsc_queue
 

Detailed Description

RTMS Publisher.

This class creates an RTMS publisher that publish images received through a shared ring buffer. It uses the BOOST single-writer/single-reader FIFO queue.

Constructor & Destructor Documentation

◆ RtmsPublisher()

ifw::fgf::common::RtmsPublisher::RtmsPublisher ( const std::string address,
const int port,
const std::string netif = "",
const double packet_send_delay = 0 )

◆ ~RtmsPublisher()

ifw::fgf::common::RtmsPublisher::~RtmsPublisher ( )
virtual

Member Function Documentation

◆ ComputeLatency()

void ifw::fgf::common::RtmsPublisher::ComputeLatency ( )

◆ GetComputeLatency()

bool ifw::fgf::common::RtmsPublisher::GetComputeLatency ( ) const

◆ GetFirstPacketSentLatency()

void ifw::fgf::common::RtmsPublisher::GetFirstPacketSentLatency ( double & latency,
double & stddev,
double & variance,
int & nb_of_samples )

◆ GetFrameSentLatency()

void ifw::fgf::common::RtmsPublisher::GetFrameSentLatency ( double & latency,
double & stddev,
double & variance,
int & nb_of_samples )

◆ InitPublisher()

void ifw::fgf::common::RtmsPublisher::InitPublisher ( size_t raw_image_size,
int bytes_per_pixel )

◆ ResetLatency()

void ifw::fgf::common::RtmsPublisher::ResetLatency ( )

◆ Run()

void ifw::fgf::common::RtmsPublisher::Run ( )

Implements infinite loop waiting for new images.

◆ StartPublishing()

void ifw::fgf::common::RtmsPublisher::StartPublishing ( )

◆ StartPubThread()

void ifw::fgf::common::RtmsPublisher::StartPubThread ( )

◆ StopPubThread()

void ifw::fgf::common::RtmsPublisher::StopPubThread ( )

Member Data Documentation

◆ m_address

std::string ifw::fgf::common::RtmsPublisher::m_address {""}

◆ m_ioc

boost::asio::io_context ifw::fgf::common::RtmsPublisher::m_ioc

◆ m_mudpi_creator

std::unique_ptr<ifw::fgf::common::MudpiCreatorParallel> ifw::fgf::common::RtmsPublisher::m_mudpi_creator

◆ m_mudpi_sender

std::unique_ptr<mudpiif::mudpiSenderJumbo> ifw::fgf::common::RtmsPublisher::m_mudpi_sender

◆ m_netif

std::string ifw::fgf::common::RtmsPublisher::m_netif {""}

◆ m_port

int ifw::fgf::common::RtmsPublisher::m_port {0}

◆ m_sampleid

int ifw::fgf::common::RtmsPublisher::m_sampleid {500}

◆ m_stopped

std::atomic< bool > ifw::fgf::common::RtmsPublisher::m_stopped {false}
static

◆ m_topicid

int ifw::fgf::common::RtmsPublisher::m_topicid {10}

◆ spsc_queue

boost::lockfree::spsc_queue< std::shared_ptr< RawImage >, boost::lockfree::capacity< 5 > > ifw::fgf::common::RtmsPublisher::spsc_queue
static

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