Go to the documentation of this file.
16 #ifndef DDTDATATRANSFERLIB_HPP_
17 #define DDTDATATRANSFERLIB_HPP_
19 #include <Ddtdatatransfericd.hpp>
20 #include <boost/property_tree/ini_parser.hpp>
21 #include <boost/property_tree/ptree.hpp>
23 #include <mal/Cii.hpp>
24 #include <mal/rr/qos/ReplyTime.hpp>
25 #include <mal/utility/LoadMal.hpp>
31 namespace mal = ::elt::mal;
32 namespace datatransfer = ::elt::ddt::datatransfer;
54 void SetQoS(
const int ddt_latency,
const int ddt_deadline);
61 std::string data_stream_identifier,
62 bool compute_checksum) {
81 std::string data_stream_identifier,
82 std::string remote_broker_uri,
83 int32_t reading_interval = 10) {
101 void StartHeartbeat(
const int32_t interval,
const std::string
id);
155 datatransfer::DataBrokerRegistrationSync,
156 std::default_delete<datatransfer::DataBrokerRegistrationSync> >
193 void HeartbeatThread();
195 std::string identifier;
197 const std::string BROKER_PATH{
"/broker/Broker1"};
198 const int LATENCY_DEFAULT = 10000;
199 const int DEADLINE_DEFAULT = 10;
200 const int32_t HEARTBEAT_INTERVAL_DEFAULT = 1;
virtual ~DdtDataTransferLib()
const std::string GetConfigFilePath()
Definition: ddtDataTransferLib.cpp:146
std::atomic< bool > connected_to_broker
Definition: ddtDataTransferLib.hpp:162
void StartHeartbeat(const int32_t interval, const std::string id)
Definition: ddtDataTransferLib.cpp:40
const std::string VerifyPathInBrokerUri(std::string broker_uri)
Definition: ddtDataTransferLib.cpp:131
Definition: ddtLogger.hpp:71
Definition: ddtClient.hpp:36
const int32_t REPLY_TIME_MIN
Definition: ddtDataTransferLib.hpp:182
int latency
Definition: ddtDataTransferLib.hpp:127
void SetQoS(const int ddt_latency, const int ddt_deadline)
Definition: ddtDataTransferLib.cpp:35
virtual int UnregisterPublisher()
Definition: ddtDataTransferLib.hpp:69
Definition: ddtMemoryAccessor.hpp:174
std::atomic< bool > heartbeat_active
Definition: ddtDataTransferLib.hpp:149
virtual int RegisterSubscriber(std::string broker_uri, std::string data_stream_identifier, std::string remote_broker_uri, int32_t reading_interval=10)
Definition: ddtDataTransferLib.hpp:80
virtual void PublishData()
Definition: ddtDataTransferLib.hpp:74
std::promise< void > exit_signal_heartbeat
Definition: ddtDataTransferLib.hpp:138
void CheckHeartbeatTimeout(int32_t &new_reply_time)
Definition: ddtDataTransferLib.cpp:97
std::future< void > future_object_heartbeat
Definition: ddtDataTransferLib.hpp:143
virtual int UnregisterSubscriber()
Definition: ddtDataTransferLib.hpp:90
DdtDataTransferLib(DdtLogger *ddt_logger)
Definition: ddtDataTransferLib.cpp:20
DdtLogger * logger
Definition: ddtDataTransferLib.hpp:172
const int32_t REPLY_TIME_DEFAULT
Definition: ddtDataTransferLib.hpp:177
int32_t reply_time
Definition: ddtDataTransferLib.hpp:131
virtual int RegisterPublisher(std::string broker_uri, std::string data_stream_identifier, bool compute_checksum)
Definition: ddtDataTransferLib.hpp:60
virtual DataSample * ReadData()
Definition: ddtDataTransferLib.hpp:95
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
Definition: ddtDataTransferLib.hpp:157
void StopHeartbeat()
Definition: ddtDataTransferLib.cpp:59
int deadline
Definition: ddtDataTransferLib.hpp:129
Definition: ddtDataTransferLib.hpp:39
elt::mal::rr::ListenerRegistration connection_listener
Definition: ddtDataTransferLib.hpp:167
int32_t heartbeat_interval
Definition: ddtDataTransferLib.hpp:132