19#ifndef DDTDATATRANSFERLIB_HPP_
20#define DDTDATATRANSFERLIB_HPP_
22#include <Ddtdatatransfericd.hpp>
23#include <boost/property_tree/ini_parser.hpp>
24#include <boost/property_tree/ptree.hpp>
27#include <mal/rr/qos/ReplyTime.hpp>
28#include <mal/utility/LoadMal.hpp>
34namespace mal = ::elt::mal;
35namespace datatransfer = ::elt::ddt::datatransfer;
69 void SetQoS(
const int ddt_latency,
const int ddt_deadline);
85 int InitMAL(
const std::string broker_uri);
91 std::unique_ptr<datatransfer::DataBrokerRegistrationSync,
92 std::default_delete<datatransfer::DataBrokerRegistrationSync>>
104 const bool compute_crc) {
131 const std::string remote_uri,
132 const int32_t interval = 10) {
155 void StartHeartbeat(
const int32_t interval,
const std::string
id);
217 datatransfer::DataBrokerRegistrationSync,
218 std::default_delete<datatransfer::DataBrokerRegistrationSync> >
260 void HeartbeatThread();
262 std::string identifier;
264 const std::string BROKER_PATH{
"/broker/Broker1"};
265 const int LATENCY_DEFAULT = 10000;
266 const int DEADLINE_DEFAULT = 10;
267 const int32_t HEARTBEAT_INTERVAL_DEFAULT = 1;
Definition: ddtDataTransferLib.hpp:42
const std::string VerifyPathInBrokerUri(std::string broker_uri)
Definition: ddtDataTransferLib.cpp:205
DdtLogger * logger
Definition: ddtDataTransferLib.hpp:234
virtual DataSample * ReadData()
Definition: ddtDataTransferLib.hpp:146
void SetQoS(const int ddt_latency, const int ddt_deadline)
Definition: ddtDataTransferLib.cpp:51
virtual int UnregisterSubscriber()
Definition: ddtDataTransferLib.hpp:140
void StopHeartbeat()
Definition: ddtDataTransferLib.cpp:75
const std::string GetConfigFilePath()
Definition: ddtDataTransferLib.cpp:238
virtual int RegisterSubscriber(const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10)
Definition: ddtDataTransferLib.hpp:130
const int32_t REPLY_TIME_DEFAULT
Definition: ddtDataTransferLib.hpp:244
void StartHeartbeat(const int32_t interval, const std::string id)
Definition: ddtDataTransferLib.cpp:56
const int32_t REPLY_TIME_MIN
Definition: ddtDataTransferLib.hpp:249
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
Definition: ddtDataTransferLib.hpp:219
int deadline
Definition: ddtDataTransferLib.hpp:185
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > GetBrokerClient()
Definition: ddtDataTransferLib.cpp:234
int32_t heartbeat_interval
Definition: ddtDataTransferLib.hpp:195
DdtLogger * my_logger
Definition: ddtDataTransferLib.hpp:239
std::atomic< bool > heartbeat_active
Definition: ddtDataTransferLib.hpp:211
int latency
Definition: ddtDataTransferLib.hpp:180
virtual void PublishData()
Definition: ddtDataTransferLib.hpp:117
std::promise< void > exit_signal_heartbeat
Definition: ddtDataTransferLib.hpp:200
void CheckHeartbeatTimeout(int32_t &new_reply_time)
Definition: ddtDataTransferLib.cpp:111
std::atomic< bool > connected_to_broker
Definition: ddtDataTransferLib.hpp:224
virtual int UnregisterPublisher()
Definition: ddtDataTransferLib.hpp:112
elt::mal::rr::ListenerRegistration connection_listener
Definition: ddtDataTransferLib.hpp:229
std::future< void > future_object_heartbeat
Definition: ddtDataTransferLib.hpp:205
virtual ~DdtDataTransferLib()
Definition: ddtDataTransferLib.cpp:35
int InitMAL(const std::string broker_uri)
Definition: ddtDataTransferLib.cpp:146
int32_t reply_time
Definition: ddtDataTransferLib.hpp:190
virtual int RegisterPublisher(const std::string uri, const std::string dsi, const bool compute_crc)
Definition: ddtDataTransferLib.hpp:103
Definition: ddtLogger.hpp:51
Contains common used error codes. This file shall contain error codes that can be used by all applica...
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
Accessor for a shared memory. This class provides the functionalities to access created shared memori...
Definition: ddtClient.hpp:39
Definition: ddtMemoryAccessor.hpp:184