ddt 1.1.0
|
#include <ddtDataSubscriber.hpp>
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 * | my_logger = nullptr |
const int32_t | REPLY_TIME_DEFAULT = 6 |
const int32_t | REPLY_TIME_MIN = 2 |
DdtDataSubscriber (DdtLogger *logger) | |
DdtDataSubscriber (log4cplus::Logger const &log4cplus_logger) | |
~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 SignalT::slot_type &event_listener) |
void | LoadDefaults () |
void | ReadIni () |
Additional Inherited Members | |
![]() | |
virtual int | RegisterPublisher (const std::string uri, const std::string dsi, const bool compute_crc) |
virtual int | UnregisterPublisher () |
virtual void | PublishData () |
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 () |
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 () |
![]() | |
void | StartHeartbeat (const int32_t interval, const std::string id) |
void | StopHeartbeat () |
void | CheckHeartbeatTimeout (int32_t &new_reply_time) |
const std::string | GetConfigFilePath () |
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
logger | A DDT logger object (no transfer of ownership). |
|
explicit |
Constructor, taking a log4cplus logger as input
log4cplus_logger | A log4cplus logger object (no transfer of ownership). |
|
override |
Destructor
boost::signals2::connection DdtDataSubscriber::connect | ( | const SignalT::slot_type & | event_listener | ) |
Connects the event_listener with the DataAvailableSignal from the memory accessor.
event_listener | Slot for the DataAvailable signal. |
DdtStatistics DdtDataSubscriber::get_statistics | ( | ) |
Returns the statistics.
|
protected |
Loads default values for configuration parameters.
|
overridevirtual |
|
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.
uri | The MAL Uniform Resource Identifier. |
dsi | The data stream identifier. |
remote_uri | The URI of the remote broker. |
interval | The reading interval. |
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 |
Default value of the time window for dropping data samples in [ms].