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;
59 void SetQoS(
const int ddt_latency,
const int ddt_deadline);
66 const bool compute_crc) {
87 const std::string remote_uri,
88 const int32_t interval = 10) {
106 void StartHeartbeat(
const int32_t interval,
const std::string
id);
116 int InitMAL(
const std::string broker_uri);
165 datatransfer::DataBrokerRegistrationSync,
166 std::default_delete<datatransfer::DataBrokerRegistrationSync> >
203 void HeartbeatThread();
205 std::string identifier;
207 const std::string BROKER_PATH{
"/broker/Broker1"};
208 const int LATENCY_DEFAULT = 10000;
209 const int DEADLINE_DEFAULT = 10;
210 const int32_t HEARTBEAT_INTERVAL_DEFAULT = 1;
virtual ~DdtDataTransferLib()
Definition: ddtDataTransferLib.cpp:29
const std::string GetConfigFilePath()
Definition: ddtDataTransferLib.cpp:226
std::atomic< bool > connected_to_broker
Definition: ddtDataTransferLib.hpp:172
void StartHeartbeat(const int32_t interval, const std::string id)
Definition: ddtDataTransferLib.cpp:50
const std::string VerifyPathInBrokerUri(std::string broker_uri)
Definition: ddtDataTransferLib.cpp:199
Definition: ddtLogger.hpp:48
Definition: ddtClient.hpp:36
const int32_t REPLY_TIME_MIN
Definition: ddtDataTransferLib.hpp:192
int latency
Definition: ddtDataTransferLib.hpp:137
virtual int RegisterSubscriber(const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10)
Definition: ddtDataTransferLib.hpp:86
void SetQoS(const int ddt_latency, const int ddt_deadline)
Definition: ddtDataTransferLib.cpp:45
virtual int UnregisterPublisher()
Definition: ddtDataTransferLib.hpp:73
Definition: ddtMemoryAccessor.hpp:173
std::atomic< bool > heartbeat_active
Definition: ddtDataTransferLib.hpp:159
virtual void PublishData()
Definition: ddtDataTransferLib.hpp:78
std::promise< void > exit_signal_heartbeat
Definition: ddtDataTransferLib.hpp:148
void CheckHeartbeatTimeout(int32_t &new_reply_time)
Definition: ddtDataTransferLib.cpp:105
int InitMAL(const std::string broker_uri)
Definition: ddtDataTransferLib.cpp:140
std::future< void > future_object_heartbeat
Definition: ddtDataTransferLib.hpp:153
virtual int UnregisterSubscriber()
Definition: ddtDataTransferLib.hpp:95
DdtDataTransferLib(DdtLogger *ddt_logger)
Definition: ddtDataTransferLib.cpp:20
DdtLogger * myLogger
Definition: ddtDataTransferLib.hpp:183
DdtLogger * logger
Definition: ddtDataTransferLib.hpp:182
const int32_t REPLY_TIME_DEFAULT
Definition: ddtDataTransferLib.hpp:187
int32_t reply_time
Definition: ddtDataTransferLib.hpp:141
virtual DataSample * ReadData()
Definition: ddtDataTransferLib.hpp:100
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
Definition: ddtDataTransferLib.hpp:167
void StopHeartbeat()
Definition: ddtDataTransferLib.cpp:69
int deadline
Definition: ddtDataTransferLib.hpp:139
virtual int RegisterPublisher(const std::string uri, const std::string dsi, const bool compute_crc)
Definition: ddtDataTransferLib.hpp:65
Definition: ddtDataTransferLib.hpp:39
elt::mal::rr::ListenerRegistration connection_listener
Definition: ddtDataTransferLib.hpp:177
int32_t heartbeat_interval
Definition: ddtDataTransferLib.hpp:142