ifw-rtmstools 3.0.0
|
#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< bool > | new_data {false} |
static std::atomic< bool > | stopped {false} |
static boost::lockfree::spsc_queue< std::shared_ptr< rtmstools::DdtImage >, boost::lockfree::capacity< 5 > > | spsc_queue |
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.
ifw::rtmstools::DdtSender::DdtSender | ( | int | width, |
int | height, | ||
ifw::fnd::datatype::DataType | datatype, | ||
std::string | broker_uri, | ||
std::string | ddt_stream, | ||
int | interval = 100 ) |
void ifw::rtmstools::DdtSender::RegisterPublisher | ( | ) |
Register DDT publisher.
In case of failure it tries to repeat the registration process.
void ifw::rtmstools::DdtSender::Run | ( | ) |
Implements infinite loop waiting for new images.
std::string ifw::rtmstools::DdtSender::m_broker_uri |
ifw::fnd::datatype::DataType ifw::rtmstools::DdtSender::m_data_type |
std::string ifw::rtmstools::DdtSender::m_ddt_stream |
DdtEncDecImage3D ifw::rtmstools::DdtSender::m_encoder |
int ifw::rtmstools::DdtSender::m_height |
int ifw::rtmstools::DdtSender::m_interval |
log4cplus::Logger ifw::rtmstools::DdtSender::m_logger |
std::unique_ptr<ddt::DdtDataPublisher> ifw::rtmstools::DdtSender::m_publisher |
int ifw::rtmstools::DdtSender::m_width |
|
static |