ddt  0.1
ddtSubscriberSimulator.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtSubscriberSimulator.hpp
8 // @brief Simulator for receiving data.
9 //
10 // This is a simulator for receiving data from a publisher application. The
11 // simulator connects to a local Broker and either receives data from a remote
12 // publisher or from a local publisher.
13 //
14 // @author Matthias Grimm, CGI
15 // @since 2020/06/30
16 //
17 
18 #ifndef DDTSUBSCRIBERSIMULATOR_HPP_
19 #define DDTSUBSCRIBERSIMULATOR_HPP_
20 
21 #include <boost/algorithm/string.hpp>
22 #include <boost/bind/bind.hpp>
23 #include <boost/signals2/signal.hpp>
24 #include <iostream>
25 
32 #include "ddt/ddtLogger.hpp"
33 
34 namespace mal = ::elt::mal;
35 namespace datatransfer = ::elt::ddt::datatransfer;
36 
37 namespace ddt {
38 
42 union R4 {
46  float i;
47 
51  unsigned char c[4];
52 };
53 
58  public:
63 
67  virtual ~DdtSubscriberSimulator();
68 
73  int Run();
74 
78  bool Init(int argc, char** argv);
79 
84  int RunImageTransfer();
85 
91 
97 
98  private:
99  void ProcessNewData();
100  void ProcessNewDataOsc();
101  void ProcessNewDataMultiDim();
102 
103  std::unique_ptr<DdtDataSubscriber> subscriber;
104 
105  DdtLogger* logger;
106  CommandLineParserBuilder* builder;
107 
108  std::string broker_uri;
109  std::string data_stream_identifier;
110  int reading_interval;
111  std::string remote_broker_uri;
112  int mode;
113  bool statistics;
114 
115  std::atomic<bool> processing_active;
116 
117  boost::signals2::connection connection;
118 };
119 
120 } // namespace ddt
121 
122 #endif /* DDTSUBSCRIBERSIMULATOR_HPP_ */
commandLineParserBuilder.hpp
ddt::DdtSubscriberSimulator::RunMultiDimensionalArrayTransfer
int RunMultiDimensionalArrayTransfer()
Definition: ddtSubscriberSimulator.cpp:188
ddt::DdtLogger
Definition: ddtLogger.hpp:71
ddt::R4::i
float i
Definition: ddtSubscriberSimulator.hpp:46
ddt
Definition: ddtClient.hpp:36
ddt::DdtSubscriberSimulator::RunOscilloscopeTransfer
int RunOscilloscopeTransfer()
Definition: ddtSubscriberSimulator.cpp:143
ddt::DdtSubscriberSimulator::RunImageTransfer
int RunImageTransfer()
Definition: ddtSubscriberSimulator.cpp:98
ddt::CommandLineParserBuilder
Definition: commandLineParserBuilder.hpp:24
ddt::DdtSubscriberSimulator::Run
int Run()
Definition: ddtSubscriberSimulator.cpp:78
ddt::DdtSubscriberSimulator::Init
bool Init(int argc, char **argv)
Definition: ddtSubscriberSimulator.cpp:43
ddt::R4::c
unsigned char c[4]
Definition: ddtSubscriberSimulator.hpp:51
ddtDataSubscriber.hpp
ddt::DdtSubscriberSimulator::DdtSubscriberSimulator
DdtSubscriberSimulator()
ddt::DdtSubscriberSimulator::~DdtSubscriberSimulator
virtual ~DdtSubscriberSimulator()
Definition: ddtSubscriberSimulator.cpp:32
ddtDataSubscriberApplication.hpp
ddtLogger.hpp
ddtEncDecMultiDim.hpp
ddtDataTransferFactory.hpp
ddt::DdtDataSubscriberApplication
Definition: ddtDataSubscriberApplication.hpp:25
ddt::R4
Definition: ddtSubscriberSimulator.hpp:42
ddt::DdtSubscriberSimulator
Definition: ddtSubscriberSimulator.hpp:57
ddtEncDecMultiLayer.hpp