ddt 1.2.1
Loading...
Searching...
No Matches
ddtDataPublisher.hpp
Go to the documentation of this file.
1
21#ifndef SRC_DDTDATAPUBLISHER_H_
22#define SRC_DDTDATAPUBLISHER_H_
23
24#include <boost/circular_buffer.hpp>
25#include <boost/interprocess/managed_shared_memory.hpp>
26#include <boost/signals2/signal.hpp>
27
28#include "ddt/ddtConstants.hpp"
30
31namespace ddt {
32
39 public:
45
51 explicit DdtDataPublisher(log4cplus::Logger const &log4cplus_logger);
52
56 ~DdtDataPublisher() override;
57
58 int RegisterPublisher(const std::string uri, const std::string dsi,
59 const bool compute_crc) override;
60
61 int UnregisterPublisher() override;
62
63 void PublishData() override;
64
71 void SetBufferSize(const int max_sample_size, const int number_samples);
72
79 void WriteData(const int32_t sample_id, const std::vector<uint8_t> &datavec,
80 const std::vector<uint8_t> &metadatavec);
81
91 void WriteData(const int32_t sample_id, const uint8_t *const data,
92 const int32_t data_size, const uint8_t *const metadata,
93 const int32_t metadata_size);
94
99 void set_topic_id(const int id);
100
105 bool get_connected_to_broker() const;
106
107 protected:
111 void LoadDefaults();
112
116 void ReadIni();
117
122
123 private:
127 void Init();
128
132 void PrintConfigValues();
133
138 void Reregister();
139
143 void PrintParameters();
144
148 int Register();
149
150 DdtMemoryAccessor *memory_accessor;
151 std::string shm_id;
152 std::string broker_uri;
153 std::string data_stream_identifier;
154 int writer_index;
155 int max_data_sample_size;
156 int number_of_samples;
157
158 bool compute_checksum;
159 std::string publishing_uri;
160 bool registered;
161};
162
163} // namespace ddt
164
165#endif /* SRC_DDTDATAPUBLISHER_H_ */
166
Definition ddtDataPublisher.hpp:38
int RegisterPublisher(const std::string uri, const std::string dsi, const bool compute_crc) override
Definition ddtDataPublisher.cpp:115
void WriteData(const int32_t sample_id, const std::vector< uint8_t > &datavec, const std::vector< uint8_t > &metadatavec)
Definition ddtDataPublisher.cpp:345
DdtDataPublisher(DdtLogger *logger)
Definition ddtDataPublisher.cpp:25
void ReadIni()
Definition ddtDataPublisher.cpp:65
int UnregisterPublisher() override
Definition ddtDataPublisher.cpp:312
bool get_connected_to_broker() const
Definition ddtDataPublisher.cpp:401
~DdtDataPublisher() override
Definition ddtDataPublisher.cpp:41
void SetBufferSize(const int max_sample_size, const int number_samples)
Definition ddtDataPublisher.cpp:339
void PublishData() override
Definition ddtDataPublisher.cpp:385
void LoadDefaults()
Definition ddtDataPublisher.cpp:63
int topic_id
Definition ddtDataPublisher.hpp:121
void set_topic_id(const int id)
Definition ddtDataPublisher.cpp:399
Definition ddtDataTransferLib.hpp:42
DdtLogger * logger
Definition ddtDataTransferLib.hpp:234
Definition ddtLogger.hpp:51
Definition ddtMemoryAccessor.hpp:274
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:39