$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_UDPDataStreamerConsumer_h_ 00002 #define _ots_UDPDataStreamerConsumer_h_ 00003 00004 #include "otsdaq-core/Configurable/Configurable.h" 00005 #include "otsdaq-core/DataManager/DataConsumer.h" 00006 #include "otsdaq-core/NetworkUtilities/UDPDataStreamerBase.h" 00007 00008 #include <string> 00009 00010 namespace ots 00011 { 00012 class ConfigurationTree; 00013 00014 class UDPDataStreamerConsumer : public UDPDataStreamerBase, 00015 public DataConsumer, 00016 public Configurable 00017 { 00018 public: 00019 UDPDataStreamerConsumer(std::string supervisorApplicationUID, 00020 std::string bufferUID, 00021 std::string processorUID, 00022 const ConfigurationTree& theXDAQContextConfigTree, 00023 const std::string& configurationPath); 00024 virtual ~UDPDataStreamerConsumer(void); 00025 00026 protected: 00027 bool workLoopThread(toolbox::task::WorkLoop* workLoop); 00028 00029 void fastRead(void); 00030 void slowRead(void); 00031 00032 // For fast read 00033 std::string* dataP_; 00034 std::map<std::string, std::string>* headerP_; 00035 // For slow read 00036 std::string data_; 00037 std::map<std::string, std::string> header_; 00038 }; 00039 00040 } // namespace ots 00041 00042 #endif