21#ifndef DDTDATASUBSCRIBER_HPP_
22#define DDTDATASUBSCRIBER_HPP_
24#define BOOST_BIND_GLOBAL_PLACEHOLDERS
26#include <boost/bind.hpp>
27#include <boost/uuid/uuid.hpp>
28#include <boost/uuid/uuid_generators.hpp>
29#include <boost/uuid/uuid_io.hpp>
62 const std::string remote_uri,
63 const int32_t interval = 10)
override;
90 boost::signals2::connection
connect(
const SignalT::slot_type &event_listener);
122 void PrintConfigValues();
132 void InitializeNotificationSubscriber(
133 const std::string data_stream_identifier,
134 const int32_t notification_port);
154 void NotificationEvent(
155 const mal::ps::DataEvent<datatransfer::NotificationSample> &event);
160 int CheckPublisher();
165 int CreateAccessor();
172 void LogSubscriberParameter();
174 void PrintErrorMessage(
const int result);
179 std::string data_stream_identifier;
180 std::string subscriber_uuid;
181 std::string broker_uri;
182 std::string remote_broker_uri;
183 int32_t reading_interval;
184 std::atomic<bool> event_active;
186 std::unique_ptr<mal::ps::Subscriber<datatransfer::NotificationSample>,
188 mal::ps::Subscriber<datatransfer::NotificationSample> > >
189 notification_subscriber;
190 std::shared_ptr<datatransfer::NotificationSample> ddt_key_notification;
191 std::shared_ptr<datatransfer::NotificationSample> ddt_notification;
192 mal::ps::DataEventFilter<datatransfer::NotificationSample> filter;
194 std::promise<void> exit_signal;
195 std::future<void> future_object;
197 const int32_t NUM_RETRIES = 10;
198 const int32_t MAX_AGE_DATA_SAMPLE_MIN = 2000;
Definition ddtDataSubscriber.hpp:41
DataSample * ReadData() override
Definition ddtDataSubscriber.cpp:431
void ReadIni()
Definition ddtDataSubscriber.cpp:63
void StartNotificationSubscription()
Definition ddtDataSubscriber.cpp:492
void StopNotificationSubscription()
Definition ddtDataSubscriber.cpp:502
boost::signals2::connection connect(const SignalT::slot_type &event_listener)
Definition ddtDataSubscriber.cpp:368
const int32_t MAX_AGE_DATA_SAMPLE_DEFAULT
Definition ddtDataSubscriber.hpp:111
~DdtDataSubscriber() override
Definition ddtDataSubscriber.cpp:42
DdtStatistics get_statistics()
Definition ddtDataSubscriber.cpp:411
int RegisterSubscriber(const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10) override
Definition ddtDataSubscriber.cpp:145
int32_t max_age_data_sample
Definition ddtDataSubscriber.hpp:106
int UnregisterSubscriber() override
Definition ddtDataSubscriber.cpp:373
void LoadDefaults()
Definition ddtDataSubscriber.cpp:57
DdtDataSubscriber(DdtLogger *logger)
Definition ddtDataSubscriber.cpp:26
Definition ddtDataTransferLib.hpp:42
DdtLogger * logger
Definition ddtDataTransferLib.hpp:234
Definition ddtLogger.hpp:51
Definition ddtMemoryAccessor.hpp:274
Definition ddtStatisticsClient.hpp:35
Base class for DdtDataPublishers and DdtDataSubscribers. This is the base class for DdtDataPublishers...
Class for providing statistics. This class provides an API to query the statistics from a broker.
Definition ddtClient.hpp:39
Definition ddtMemoryAccessor.hpp:184
Definition ddtStatistics.hpp:27