ifw-fgf 1.0.0-pre1
|
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::MudpiCreatorParallel > | m_mudpi_creator |
std::unique_ptr< mudpiif::mudpiSenderJumbo > | m_mudpi_sender |
Static Public Attributes | |
static std::atomic< bool > | m_stopped {false} |
static boost::lockfree::spsc_queue< std::shared_ptr< RawImage >, boost::lockfree::capacity< 5 > > | spsc_queue |
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.
ifw::fgf::common::RtmsPublisher::RtmsPublisher | ( | const std::string | address, |
const int | port, | ||
const std::string | netif = "", | ||
const double | packet_send_delay = 0 ) |
|
virtual |
void ifw::fgf::common::RtmsPublisher::ComputeLatency | ( | ) |
bool ifw::fgf::common::RtmsPublisher::GetComputeLatency | ( | ) | const |
void ifw::fgf::common::RtmsPublisher::GetFirstPacketSentLatency | ( | double & | latency, |
double & | stddev, | ||
double & | variance, | ||
int & | nb_of_samples ) |
void ifw::fgf::common::RtmsPublisher::GetFrameSentLatency | ( | double & | latency, |
double & | stddev, | ||
double & | variance, | ||
int & | nb_of_samples ) |
void ifw::fgf::common::RtmsPublisher::ResetLatency | ( | ) |
void ifw::fgf::common::RtmsPublisher::Run | ( | ) |
Implements infinite loop waiting for new images.
void ifw::fgf::common::RtmsPublisher::StartPublishing | ( | ) |
void ifw::fgf::common::RtmsPublisher::StartPubThread | ( | ) |
void ifw::fgf::common::RtmsPublisher::StopPubThread | ( | ) |
std::string ifw::fgf::common::RtmsPublisher::m_address {""} |
boost::asio::io_context ifw::fgf::common::RtmsPublisher::m_ioc |
std::unique_ptr<ifw::fgf::common::MudpiCreatorParallel> ifw::fgf::common::RtmsPublisher::m_mudpi_creator |
std::unique_ptr<mudpiif::mudpiSenderJumbo> ifw::fgf::common::RtmsPublisher::m_mudpi_sender |
std::string ifw::fgf::common::RtmsPublisher::m_netif {""} |
int ifw::fgf::common::RtmsPublisher::m_port {0} |
int ifw::fgf::common::RtmsPublisher::m_sampleid {500} |
int ifw::fgf::common::RtmsPublisher::m_topicid {10} |
|
static |