ddt 1.2.1
Loading...
Searching...
No Matches
Protected Attributes | List of all members
ddt::DdtDataPublisher Class Reference

#include <ddtDataPublisher.hpp>

Inheritance diagram for ddt::DdtDataPublisher:
ddt::DdtDataTransferLib DdtDataPublisher2Fake DdtDataPublisherFake

Protected Attributes

int topic_id
 
- Protected Attributes inherited from ddt::DdtDataTransferLib
int latency
 
int deadline
 
int32_t reply_time
 
int32_t heartbeat_interval
 
std::promise< void > exit_signal_heartbeat
 
std::future< void > future_object_heartbeat
 
std::atomic< bool > heartbeat_active
 
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
 
std::atomic< bool > connected_to_broker
 
elt::mal::rr::ListenerRegistration connection_listener
 
DdtLoggerlogger
 
DdtLoggermy_logger = nullptr
 
const int32_t REPLY_TIME_DEFAULT = 6
 
const int32_t REPLY_TIME_MIN = 2
 
 DdtDataPublisher (DdtLogger *logger)
 
 DdtDataPublisher (log4cplus::Logger const &log4cplus_logger)
 
 ~DdtDataPublisher () override
 
int RegisterPublisher (const std::string uri, const std::string dsi, const bool compute_crc) override
 
int UnregisterPublisher () override
 
void PublishData () override
 
void SetBufferSize (const int max_sample_size, const int number_samples)
 
void WriteData (const int32_t sample_id, const std::vector< uint8_t > &datavec, const std::vector< uint8_t > &metadatavec)
 
void WriteData (const int32_t sample_id, const uint8_t *const data, const int32_t data_size, const uint8_t *const metadata, const int32_t metadata_size)
 
void set_topic_id (const int id)
 
bool get_connected_to_broker () const
 
void LoadDefaults ()
 
void ReadIni ()
 

Additional Inherited Members

- Public Member Functions inherited from ddt::DdtDataTransferLib
virtual int RegisterSubscriber (const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10)
 
virtual int UnregisterSubscriber ()
 
virtual DataSampleReadData ()
 
 DdtDataTransferLib (DdtLogger *ddt_logger)
 
 DdtDataTransferLib (log4cplus::Logger const &log4cplus_logger)
 
virtual ~DdtDataTransferLib ()
 
void SetQoS (const int ddt_latency, const int ddt_deadline)
 
const std::string VerifyPathInBrokerUri (std::string broker_uri)
 
int InitMAL (const std::string broker_uri)
 
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > GetBrokerClient ()
 
- Protected Member Functions inherited from ddt::DdtDataTransferLib
void StartHeartbeat (const int32_t interval, const std::string id)
 
void StopHeartbeat ()
 
void CheckHeartbeatTimeout (int32_t &new_reply_time)
 
const std::string GetConfigFilePath ()
 

Detailed Description

This class provides the functionality for publisher applications to register / unregister at a local broker and to publish data for a specified data stream.

Constructor & Destructor Documentation

◆ DdtDataPublisher() [1/2]

DdtDataPublisher::DdtDataPublisher ( DdtLogger * logger)
explicit

Constructor

Parameters
loggerA DDT logger object (no transfer of ownership).

◆ DdtDataPublisher() [2/2]

DdtDataPublisher::DdtDataPublisher ( log4cplus::Logger const & log4cplus_logger)
explicit

Constructor, taking a log4cplus logger as input

Parameters
log4cplus_loggerA log4cplus logger object (no transfer of ownership).

◆ ~DdtDataPublisher()

DdtDataPublisher::~DdtDataPublisher ( )
override

Destructor

Member Function Documentation

◆ get_connected_to_broker()

bool DdtDataPublisher::get_connected_to_broker ( ) const

Returns connected_to_broker.

Returns
True if the publisher is connected to the broker, false otherwise.

◆ LoadDefaults()

void DdtDataPublisher::LoadDefaults ( )
protected

Loads default values for configuration parameters.

◆ PublishData()

void DdtDataPublisher::PublishData ( )
overridevirtual

Function for triggering the local broker to publish data over the network.

Reimplemented from ddt::DdtDataTransferLib.

◆ ReadIni()

void DdtDataPublisher::ReadIni ( )
protected

Reads the datatransferlib configuration file.

An exception is thrown if the config file does not exist. In that case the default values are used instead.

make sure configured reply time is at least REPLY_TIME_MIN set to default value otherwise

◆ RegisterPublisher()

int DdtDataPublisher::RegisterPublisher ( const std::string uri,
const std::string dsi,
const bool compute_crc )
overridevirtual

Function for registering a publisher at the local broker using a MAL client.

Parameters
uriThe MAL Uniform Resource Identifier.
dsiThe data stream identifier.
compute_crcUsed to switch on / off the CRC computation.
Returns
Success of registration.

Reimplemented from ddt::DdtDataTransferLib.

◆ set_topic_id()

void DdtDataPublisher::set_topic_id ( const int id)

Sets the topic_id.

Parameters
idThe topic ID.

◆ SetBufferSize()

void DdtDataPublisher::SetBufferSize ( const int max_sample_size,
const int number_samples )

Specifies the maximum data sample size and the number of samples.

Parameters
max_sample_sizeThe maximum data sample size.
number_samplesThe Number of samples stored in the SHM ring buffer.

◆ UnregisterPublisher()

int DdtDataPublisher::UnregisterPublisher ( )
overridevirtual

Function for unregistering a publisher from the local broker.

Returns
Success of unregistration.

Reimplemented from ddt::DdtDataTransferLib.

◆ WriteData() [1/2]

void DdtDataPublisher::WriteData ( const int32_t sample_id,
const std::vector< uint8_t > & datavec,
const std::vector< uint8_t > & metadatavec )

Writes the data packet into shared memory using a memory accessor.

Parameters
sample_idThe sample ID.
datavecVector containing the data.
metadatavecVector containing the meta data.

◆ WriteData() [2/2]

void DdtDataPublisher::WriteData ( const int32_t sample_id,
const uint8_t *const data,
const int32_t data_size,
const uint8_t *const metadata,
const int32_t metadata_size )

Writes the data packet into shared memory using a memory accessor. The data is passed as a pointer.

Parameters
sample_idThe sample ID.
dataPointer to the data.
data_sizeThe size of the data.
metadataPointer to the meta data.
metadata_sizeThe size of the meta data.

Member Data Documentation

◆ topic_id

int ddt::DdtDataPublisher::topic_id
protected

Topic ID of the data


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