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