ifw-ccf 4.0.0
Loading...
Searching...
No Matches
pubRtms.hpp
Go to the documentation of this file.
1
5#ifndef CCF_STDPUB_PUB_RTMS_HPP_H_
6#define CCF_STDPUB_PUB_RTMS_HPP_H_
7
8//#define BOOST_BIND_NO_PLACEHOLDERS
9
10#include <mudpiif/MudpiSender.hpp>
11
12#include <ccf/common/config.hpp>
15
16namespace ccf::stdpub {
17
20 public:
21
22 static void _SetSimulation(); // Warning: Don't use this.
23
24 const std::string SETUP_KEY_BPP = "bpp";
25 const std::string SETUP_KEY_TOPIC_ID = "topic_id";
26 const std::string SETUP_KEY_SAMPLE_ID = "sample_id";
27 const std::string SETUP_KEY_PKT_SEND_DELAY = "pkt_send_delay";
28
29 PubRtms(const std::string& proc_thread_name,
30 const std::string& pub_thread_name);
31
32 PubRtms();
33
34 virtual ~PubRtms();
35
36 virtual void InitialiseUser();
37
38 virtual void PublishUser(ccf::common::DataFrame& frame);
39
40 virtual void DismantleUser();
41
42 virtual void CreateObjectUser(const std::string& proc_thread_name,
43 const std::string& pub_thread_name,
44 PubBase** new_object);
45
46 protected:
47
48 private:
49 static bool s_simulation;
50 double m_min_period;
51 double m_time_last_publishing;
52 double m_packet_send_delay;
53 int m_bpp{2};
54 std::string m_interface;
55 std::string m_address{"127.0.0.1"};
56 int m_port{59000};
57 // Basic MUDPI configuration
58 int m_topicid{10};
59 int m_sampleid{500};
60 std::unique_ptr<ccf::stdpub::MudpiCreator> m_mudpi_creator;
61 std::unique_ptr<mudpiif::mudpiSenderJumbo> m_mudpi_sender;
62 boost::asio::io_context m_ioc;
63 };
64
65}
66
67#endif // CCF_STDPUB_PUB_RTMS_HPP_H_
Frame class used to store the data and metadata for one frames received from the camera.
Definition: dataFrame.hpp:17
Class for implementing CCF Data Publishers.
Definition: pubBase.hpp:114
PubBase()
Definition: pubBase.cpp:391
Standard RTMS Publisher.
Definition: pubRtms.hpp:19
virtual ~PubRtms()
Definition: pubRtms.cpp:34
static void _SetSimulation()
Definition: pubRtms.cpp:13
const std::string SETUP_KEY_TOPIC_ID
Definition: pubRtms.hpp:25
virtual void InitialiseUser()
Definition: pubRtms.cpp:38
virtual void DismantleUser()
Definition: pubRtms.cpp:149
PubRtms()
Definition: pubRtms.cpp:29
const std::string SETUP_KEY_SAMPLE_ID
Definition: pubRtms.hpp:26
virtual void PublishUser(ccf::common::DataFrame &frame)
Definition: pubRtms.cpp:86
virtual void CreateObjectUser(const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
Definition: pubRtms.cpp:160
const std::string SETUP_KEY_PKT_SEND_DELAY
Definition: pubRtms.hpp:27
const std::string SETUP_KEY_BPP
Definition: pubRtms.hpp:24
MudpiCreator public header file. This class was copied from the MELT CS repository.
Definition: mudpiCreator.hpp:22