ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtDataProducer.hpp
Go to the documentation of this file.
1
10
11#ifndef DDTDATAPRODUCER_HPP_
12#define DDTDATAPRODUCER_HPP_
13
15
16namespace mal = ::elt::mal;
17namespace datatransfer = ::elt::ddt::datatransfer;
18
19static const std::chrono::milliseconds PUBLISH_TIMEOUT{450};
20
21namespace ddt {
22
28 public:
34
45 DdtDataProducer(const std::string& data_stream_identifier,
46 const int32_t latency, const int32_t deadline,
47 const std::string publishing_uri, DdtLogger* logger);
48
52 ~DdtDataProducer() override;
53
58 void Publish(DataPacket data_packet);
59
65 void Notify(const NotificationType type) override;
66
71 std::string get_publishing_uri() const;
72
73 private:
84 void Initialize(const std::string& data_stream_identifier,
85 const int32_t latency, const int32_t deadline,
86 const std::string pub_uri, DdtLogger* ddt_logger);
87
93 std::string CreatePublishingUri(
94 const std::string& data_stream_identifier) const;
95
96 std::unique_ptr<mal::ps::InstancePublisher<datatransfer::DataPacket>,
97 std::default_delete<
98 mal::ps::InstancePublisher<datatransfer::DataPacket> > >
99 data_publisher;
100 std::shared_ptr<datatransfer::DataPacket> ddt_data_packet;
101
102 double timestamp_prev;
103 std::string publishing_uri;
104};
105
106} // namespace ddt
107
108#endif /* DDTDATAPRODUCER_HPP_ */
std::string get_publishing_uri() const
Definition ddtDataProducer.cpp:147
void Notify(const NotificationType type) override
Definition ddtDataProducer.cpp:108
~DdtDataProducer() override
DdtDataProducer(DdtLogger *logger)
Definition ddtDataProducer.cpp:15
void Publish(DataPacket data_packet)
Definition ddtDataProducer.cpp:64
Definition ddtLogger.hpp:43
NotificationType
Definition ddtProducerConsumerBase.hpp:50
DdtProducerConsumerBase(DdtLogger *ddt_logger)
Definition ddtProducerConsumerBase.cpp:16
DdtLogger * logger
Definition ddtProducerConsumerBase.hpp:117
Base class for DdtDataProducer and DdtDataConsumer. This class serves as a base class for DdtDataProd...
Definition ddtClient.hpp:32
Definition ddtMemoryAccessor.hpp:217