ddt
0.1
|
#include <ddtDataPublisher.hpp>
Public Member Functions | |
DdtDataPublisher (DdtLogger *logger) | |
DdtDataPublisher (log4cplus::Logger const &log4cplusLogger) | |
~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 |
![]() | |
DdtDataTransferLib (DdtLogger *ddt_logger) | |
DdtDataTransferLib (log4cplus::Logger const &log4cplusLogger) | |
virtual | ~DdtDataTransferLib () |
void | SetQoS (const int ddt_latency, const int ddt_deadline) |
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 DataSample * | ReadData () |
Protected Member Functions | |
void | LoadDefaults () |
void | ReadIni () |
![]() | |
void | StartHeartbeat (const int32_t interval, const std::string id) |
void | StopHeartbeat () |
int | InitMAL (const std::string broker_uri) |
void | CheckHeartbeatTimeout (int32_t &new_reply_time) |
const std::string | VerifyPathInBrokerUri (std::string broker_uri) |
const std::string | GetConfigFilePath () |
Protected Attributes | |
int | topic_id |
![]() | |
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 |
DdtLogger * | logger |
DdtLogger * | myLogger = nullptr |
const int32_t | REPLY_TIME_DEFAULT = 6 |
const int32_t | REPLY_TIME_MIN = 2 |
This class provides the functionality for publisher applications to register / unregister at a local broker and to publish data for a specified data stream.
|
explicit |
Constructor
|
explicit |
Constructor, taking a log4cplus logger as input
|
override |
Destructor
bool DdtDataPublisher::get_connected_to_broker | ( | ) | const |
Returns connected_to_broker.
|
protected |
Loads default values for configuration parameters.
|
overridevirtual |
Function for triggering the local broker to publish data over the network.
Reimplemented from ddt::DdtDataTransferLib.
|
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
|
overridevirtual |
Function for registering a publisher at the local broker using a MAL client.
Reimplemented from ddt::DdtDataTransferLib.
void DdtDataPublisher::set_topic_id | ( | const int | id | ) |
Sets the topic_id.
void DdtDataPublisher::SetBufferSize | ( | const int | max_sample_size, |
const int | number_samples | ||
) |
Specifies the maximum data sample size and the number of samples.
|
overridevirtual |
Function for unregistering a publisher from the local broker.
Reimplemented from ddt::DdtDataTransferLib.
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.
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.
|
protected |
Topic ID of the data