ddt
0.1
|
#include <ddtDataSubscriber.hpp>
Public Member Functions | |
DdtDataSubscriber (DdtLogger *logger) | |
DdtDataSubscriber (log4cplus::Logger const &log4cplusLogger) | |
~DdtDataSubscriber () override | |
int | RegisterSubscriber (const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10) override |
int | UnregisterSubscriber () override |
DataSample * | ReadData () override |
void | StartNotificationSubscription () |
void | StopNotificationSubscription () |
DdtStatistics | get_statistics () |
boost::signals2::connection | connect (const signal_t::slot_type &event_listener) |
![]() | |
DdtDataTransferLib (DdtLogger *ddt_logger) | |
DdtDataTransferLib (log4cplus::Logger const &log4cplusLogger) | |
virtual | ~DdtDataTransferLib () |
void | SetQoS (const int ddt_latency, const int ddt_deadline) |
virtual int | RegisterPublisher (const std::string uri, const std::string dsi, const bool compute_crc) |
virtual int | UnregisterPublisher () |
virtual void | PublishData () |
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 | |
int32_t | max_age_data_sample |
const int32_t | MAX_AGE_DATA_SAMPLE_DEFAULT = 10000 |
![]() | |
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 subscriber applications to register / unregister at a local broker and to receive data for a specified data stream.
|
explicit |
Constructor
|
explicit |
Constructor, taking a log4cplus logger as input
|
override |
Destructor
boost::signals2::connection DdtDataSubscriber::connect | ( | const signal_t::slot_type & | event_listener | ) |
Connects the event_listener with the DataAvailableSignal from the memory accessor.
DdtStatistics DdtDataSubscriber::get_statistics | ( | ) |
Returns the statistics.
|
protected |
Loads default values for configuration parameters.
|
overridevirtual |
Function for receiving data.
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 max_age_data_sample is at least MAX_AGE_DATA_SAMPLE_MIN set to default value otherwise
make sure reply_time is at least REPLY_TIME_MIN set to default value otherwise
|
overridevirtual |
Function for registering a subscriber at the local broker using a MAL client.
Reimplemented from ddt::DdtDataTransferLib.
void DdtDataSubscriber::StartNotificationSubscription | ( | ) |
Starts MAL subscription for notifications as a separate thread.
void DdtDataSubscriber::StopNotificationSubscription | ( | ) |
Stops MAL subscription.
|
overridevirtual |
Function for unregistering a subscriber from the local broker.
Reimplemented from ddt::DdtDataTransferLib.
|
protected |
configurable time window for dropping data samples in [ms]
|
protected |