otsdaq  v2_00_00
TCPDataStreamerConsumer.h
1 #ifndef _ots_TCPDataStreamerConsumer_h_
2 #define _ots_TCPDataStreamerConsumer_h_
3 
4 #include "otsdaq-core/NetworkUtilities/TCPDataStreamerBase.h"
5 #include "otsdaq-core/DataManager/DataConsumer.h"
6 #include "otsdaq-core/Configurable/Configurable.h"
7 
8 #include <string>
9 
10 namespace ots
11 {
12 
13 class ConfigurationTree;
14 
16 {
17 public:
18  TCPDataStreamerConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID,
19  const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath);
20  virtual ~TCPDataStreamerConsumer(void);
21 
22 protected:
23  bool workLoopThread(toolbox::task::WorkLoop* workLoop);
24 
25  void fastRead(void);
26  void slowRead(void);
27 
28  //For fast read
29  std::string* dataP_;
30  std::map<std::string,std::string>* headerP_;
31  //For slow read
32  std::string data_;
33  std::map<std::string,std::string> header_;
34 
35 };
36 
37 }
38 
39 #endif