ifw-rtmstools 3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ifw::rtmstools::DdtSender Struct Reference

The DdtSender struct. More...

#include <ddtSender.hpp>

Public Member Functions

 DdtSender (int width, int height, ifw::fnd::datatype::DataType datatype, std::string broker_uri, std::string ddt_stream, int interval=100)
 
void RegisterPublisher ()
 Register DDT publisher.
 
void Run ()
 Implements infinite loop waiting for new images.
 

Public Attributes

int m_width
 
int m_height
 
ifw::fnd::datatype::DataType m_data_type
 
std::string m_broker_uri
 
std::string m_ddt_stream
 
int m_interval
 
log4cplus::Logger m_logger
 
std::unique_ptr< ddt::DdtDataPublisher > m_publisher
 
DdtEncDecImage3D m_encoder
 

Static Public Attributes

static std::atomic< boolnew_data {false}
 
static std::atomic< boolstopped {false}
 
static boost::lockfree::spsc_queue< std::shared_ptr< rtmstools::DdtImage >, boost::lockfree::capacity< 5 > > spsc_queue
 

Detailed Description

The DdtSender struct.

This structure is used to send images to the DDT broker such they can be visualized with a DDT viewer. The class creates a DDT publisher that publish images received through a shared ring buffer. It uses the BOOST single-writer/single-reader fifo queue.

Constructor & Destructor Documentation

◆ DdtSender()

ifw::rtmstools::DdtSender::DdtSender ( int width,
int height,
ifw::fnd::datatype::DataType datatype,
std::string broker_uri,
std::string ddt_stream,
int interval = 100 )

Member Function Documentation

◆ RegisterPublisher()

void ifw::rtmstools::DdtSender::RegisterPublisher ( )

Register DDT publisher.

In case of failure it tries to repeat the registration process.

◆ Run()

void ifw::rtmstools::DdtSender::Run ( )

Implements infinite loop waiting for new images.

Member Data Documentation

◆ m_broker_uri

std::string ifw::rtmstools::DdtSender::m_broker_uri

◆ m_data_type

ifw::fnd::datatype::DataType ifw::rtmstools::DdtSender::m_data_type

◆ m_ddt_stream

std::string ifw::rtmstools::DdtSender::m_ddt_stream

◆ m_encoder

DdtEncDecImage3D ifw::rtmstools::DdtSender::m_encoder

◆ m_height

int ifw::rtmstools::DdtSender::m_height

◆ m_interval

int ifw::rtmstools::DdtSender::m_interval

◆ m_logger

log4cplus::Logger ifw::rtmstools::DdtSender::m_logger

◆ m_publisher

std::unique_ptr<ddt::DdtDataPublisher> ifw::rtmstools::DdtSender::m_publisher

◆ m_width

int ifw::rtmstools::DdtSender::m_width

◆ new_data

std::atomic< bool > ifw::rtmstools::DdtSender::new_data {false}
static

◆ spsc_queue

boost::lockfree::spsc_queue< std::shared_ptr< rtmstools::DdtImage >, boost::lockfree::capacity< 5 > > ifw::rtmstools::DdtSender::spsc_queue
static

◆ stopped

std::atomic< bool > ifw::rtmstools::DdtSender::stopped {false}
static

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