Go to the documentation of this file.
18 #ifndef DDTDATASUBSCRIBER_HPP_
19 #define DDTDATASUBSCRIBER_HPP_
21 #include <boost/bind.hpp>
22 #include <boost/uuid/uuid.hpp>
23 #include <boost/uuid/uuid_generators.hpp>
24 #include <boost/uuid/uuid_io.hpp>
48 std::string data_stream_identifier,
49 std::string remote_broker_uri,
50 int32_t reading_interval = 10)
override;
75 boost::signals2::connection
connect(
76 const signal_t::slot_type &event_listener);
103 void PrintConfigValues();
108 void InitializeNotificationSubscriber(std::string data_stream_identifier,
109 int32_t notification_port);
129 void NotificationEvent(
130 const mal::ps::DataEvent<datatransfer::NotificationSample> &event);
135 int CheckPublisher();
140 std::string data_stream_identifier;
141 std::string subscriber_uuid;
142 std::string remote_broker_uri;
143 std::atomic<bool> event_active;
145 std::unique_ptr<mal::ps::Subscriber<datatransfer::NotificationSample>,
147 mal::ps::Subscriber<datatransfer::NotificationSample> > >
148 notification_subscriber;
149 std::shared_ptr<datatransfer::NotificationSample> ddt_key_notification;
150 std::shared_ptr<datatransfer::NotificationSample> ddt_notification;
151 mal::ps::DataEventFilter<datatransfer::NotificationSample> filter;
153 std::promise<void> exit_signal;
154 std::future<void> future_object;
156 const int32_t NUM_RETRIES = 10;
157 const int32_t MAX_AGE_DATA_SAMPLE_MIN = 2000;
Definition: ddtStatistics.hpp:21
DdtDataSubscriber(DdtLogger *logger)
Definition: ddtDataSubscriber.cpp:22
int UnregisterSubscriber() override
Definition: ddtDataSubscriber.cpp:338
Definition: ddtLogger.hpp:71
Definition: ddtMemoryAccessor.hpp:258
Definition: ddtClient.hpp:36
int32_t max_age_data_sample
Definition: ddtDataSubscriber.hpp:89
void StartNotificationSubscription()
Definition: ddtDataSubscriber.cpp:454
const int32_t MAX_AGE_DATA_SAMPLE_DEFAULT
Definition: ddtDataSubscriber.hpp:92
Definition: ddtMemoryAccessor.hpp:174
void LoadDefaults()
Definition: ddtDataSubscriber.cpp:48
int RegisterSubscriber(std::string broker_uri, std::string data_stream_identifier, std::string remote_broker_uri, int32_t reading_interval=10) override
Definition: ddtDataSubscriber.cpp:105
DataSample * ReadData() override
Definition: ddtDataSubscriber.cpp:392
DdtStatistics get_statistics()
Definition: ddtDataSubscriber.cpp:374
void StopNotificationSubscription()
Definition: ddtDataSubscriber.cpp:464
boost::signals2::connection connect(const signal_t::slot_type &event_listener)
Definition: ddtDataSubscriber.cpp:333
DdtLogger * logger
Definition: ddtDataTransferLib.hpp:172
Definition: ddtStatisticsClient.hpp:32
virtual ~DdtDataSubscriber()
Definition: ddtDataSubscriber.cpp:34
Definition: ddtDataTransferLib.hpp:39
Definition: ddtDataSubscriber.hpp:35
void ReadIni()
Definition: ddtDataSubscriber.cpp:53