ddt 1.1.0
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:338
void ReadIni()
Definition: ddtDataPublisher.cpp:65
int UnregisterPublisher() override
Definition: ddtDataPublisher.cpp:305
bool get_connected_to_broker() const
Definition: ddtDataPublisher.cpp:394
~DdtDataPublisher() override
Definition: ddtDataPublisher.cpp:41
void SetBufferSize(const int max_sample_size, const int number_samples)
Definition: ddtDataPublisher.cpp:332
void PublishData() override
Definition: ddtDataPublisher.cpp:378
void LoadDefaults()
Definition: ddtDataPublisher.cpp:63
int topic_id
Definition: ddtDataPublisher.hpp:121
void set_topic_id(const int id)
Definition: ddtDataPublisher.cpp:392
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