ddt  0.1
ddtDataBroker.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 ddtDataBroker.hpp
8 // @brief Data Broker.
9 //
10 // A Data Broker is the access point in the system for data producer
11 // applications to inject data into the system and for data consumer
12 // applications to receive data produced by the system. It therefore creates a
13 // MAL Server waiting for connections.
14 //
15 // @author Carsten Mannel, CGI
16 // @since 2020/09/25
17 //
18 
19 #ifndef DDTDATABROKER_HPP_
20 #define DDTDATABROKER_HPP_
21 
22 #include <condition_variable>
23 #include <csignal>
24 #include <fstream>
25 
28 #include "ddt/ddtLogger.hpp"
29 
34  public:
39 
43  virtual ~DdtDataBroker();
44 
48  int Run();
49 
53  bool Init(int argc, char** argv);
54 
55  private:
62  const std::string ExtractPort(const std::string uri, int& string_index) const;
63 
70  bool CheckPath(std::string& uri, const int string_index);
71 
72  ddt::DdtLogger* logger;
73  std::string uri_string;
74  std::string config_file;
75  const std::string URI_PATH{"/broker"};
76 };
77 
78 #endif /* DDTDATABROKER_HPP_ */
commandLineParserBuilder.hpp
ddt::DdtLogger
Definition: ddtLogger.hpp:48
DdtDataBroker::DdtDataBroker
DdtDataBroker()
DdtDataBroker::~DdtDataBroker
virtual ~DdtDataBroker()
DdtDataBroker
Definition: ddtDataBroker.hpp:33
ddtLogger.hpp
DdtDataBroker::Init
bool Init(int argc, char **argv)
Definition: ddtDataBroker.cpp:94
ddtConnectionManager.hpp
DdtDataBroker::Run
int Run()
Definition: ddtDataBroker.cpp:176