ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtDataPublisher.hpp
Go to the documentation of this file.
1
11
12#ifndef SRC_DDTDATAPUBLISHER_H_
13#define SRC_DDTDATAPUBLISHER_H_
14
15#include <boost/circular_buffer.hpp>
16#include <boost/interprocess/managed_shared_memory.hpp>
17#include <boost/signals2/signal.hpp>
18
19#include "ddt/ddtConstants.hpp"
21
22namespace ddt {
23
30 public:
36
42 explicit DdtDataPublisher(log4cplus::Logger const &log4cplus_logger);
43
47 ~DdtDataPublisher() override;
48
49 int RegisterPublisher(const std::string uri, const std::string dsi,
50 const bool compute_crc) override;
51
52 int UnregisterPublisher() override;
53
54 void PublishData() override;
55
62 void SetBufferSize(const int max_sample_size, const int number_samples);
63
70 void WriteData(const int32_t sample_id, const std::vector<uint8_t> &datavec,
71 const std::vector<uint8_t> &metadatavec);
72
82 void WriteData(const int32_t sample_id, const uint8_t *const data,
83 const int32_t data_size, const uint8_t *const metadata,
84 const int32_t metadata_size);
85
90 void set_topic_id(const int id);
91
96 bool get_connected_to_broker() const;
97
98 protected:
102 void LoadDefaults();
103
107 void ReadIni();
108
112 int topic_id = 0;
113
114 private:
118 void Init();
119
123 void PrintConfigValues();
124
129 void Reregister() override;
130
134 void PrintParameters();
135
139 int Register();
140
141 DdtMemoryAccessor *memory_accessor = nullptr;
142 std::string shm_id;
143 std::string broker_uri;
144 std::string data_stream_identifier;
145 int writer_index = 0;
146 int max_data_sample_size = 0;
147 int number_of_samples = 0;
148
149 bool compute_checksum = false;
150 std::string publishing_uri;
151 bool registered = false;
152};
153
154} // namespace ddt
155
156#endif /* SRC_DDTDATAPUBLISHER_H_ */
int RegisterPublisher(const std::string uri, const std::string dsi, const bool compute_crc) override
Definition ddtDataPublisher.cpp:131
void WriteData(const int32_t sample_id, const std::vector< uint8_t > &datavec, const std::vector< uint8_t > &metadatavec)
Definition ddtDataPublisher.cpp:362
DdtDataPublisher(DdtLogger *logger)
Definition ddtDataPublisher.cpp:16
void ReadIni()
Definition ddtDataPublisher.cpp:60
int UnregisterPublisher() override
Definition ddtDataPublisher.cpp:329
bool get_connected_to_broker() const
Definition ddtDataPublisher.cpp:418
~DdtDataPublisher() override
Definition ddtDataPublisher.cpp:32
void SetBufferSize(const int max_sample_size, const int number_samples)
Definition ddtDataPublisher.cpp:356
void PublishData() override
Definition ddtDataPublisher.cpp:402
void LoadDefaults()
Definition ddtDataPublisher.cpp:54
int topic_id
Definition ddtDataPublisher.hpp:112
void set_topic_id(const int id)
Definition ddtDataPublisher.cpp:416
DdtLogger * logger
Definition ddtDataTransferLib.hpp:322
DdtDataTransferLib(DdtLogger *ddt_logger)
Definition ddtDataTransferLib.cpp:16
Definition ddtLogger.hpp:43
Definition ddtMemoryAccessor.hpp:265
Contains common used constants. This file shall contain constants that can be used by all application...
Base class for DdtDataPublishers and DdtDataSubscribers. This is the base class for DdtDataPublishers...
Definition ddtClient.hpp:32