otsdaq  v1_01_04
 All Classes Namespaces Functions
DataDecoderConsumer_processor.cc
1 #include "otsdaq-core/MessageFacility/MessageFacility.h"
2 #include "otsdaq-core/Macros/CoutHeaderMacros.h"
3 #include "otsdaq-core/DataProcessorPlugins/DataDecoderConsumer.h"
4 #include "otsdaq-core/ConfigurationPluginDataFormats/DataDecoderConsumerConfiguration.h"
5 #include "otsdaq-core/Macros/ProcessorPluginMacros.h"
6 
7 #include <iostream>
8 #include <cassert>
9 #include <unistd.h>
10 
11 using namespace ots;
12 
13 
14 
15 //========================================================================================================================
16 DataDecoderConsumer::DataDecoderConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath)
17 : WorkLoop (processorUID)
18 , DataDecoder (supervisorApplicationUID, bufferUID, processorUID)
19 , DataConsumer (supervisorApplicationUID, bufferUID, processorUID, HighConsumerPriority)
20 , Configurable (theXDAQContextConfigTree, configurationPath)
21 {}
22 
23 //========================================================================================================================
24 DataDecoderConsumer::~DataDecoderConsumer(void)
25 {}
26 
27 //========================================================================================================================
28 bool DataDecoderConsumer::workLoopThread(toolbox::task::WorkLoop* workLoop)
29 {
30  //std::cout << __COUT_HDR_FL__ << __PRETTY_FUNCTION__ << processorUID_ << " running!" << std::endl;
31  std::string buffer;
32  std::map<std::string,std::string> header;
33  //unsigned long block;
34  if(DataConsumer::read(buffer, header) < 0)
35  usleep(100000);
36  else
37  {
38  std::cout << __COUT_HDR_FL__ << __PRETTY_FUNCTION__ << processorUID_ << " Buffer: " << buffer << std::endl;
39  }
40  return true;
41 }
42 
43 DEFINE_OTS_PROCESSOR(DataDecoderConsumer)