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