otsdaq  v2_03_00
DataProducerBase.cc
1 #include "otsdaq-core/DataManager/DataProducerBase.h"
2 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
3 #include "otsdaq-core/DataManager/DataManager.h"
4 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
5 
6 #include <iostream>
7 #include <memory>
8 using namespace ots;
9 
10 #undef __MF_SUBJECT__
11 #define __MF_SUBJECT__ (std::string("Producer-") + DataProcessor::processorUID_)
12 
13 //========================================================================================================================
14 DataProducerBase::DataProducerBase(const std::string& supervisorApplicationUID,
15  const std::string& bufferUID,
16  const std::string& processorUID,
17  unsigned int bufferSize)
18  : DataProcessor(supervisorApplicationUID, bufferUID, processorUID)
19  , bufferSize_(bufferSize)
20 {
21  __COUT__ << "Constructor." << __E__;
22  registerToBuffer();
23  __COUT__ << "Constructed." << __E__;
24 } // end constructor()
25 
26 //========================================================================================================================
27 DataProducerBase::~DataProducerBase(void)
28 {
29  __COUT__ << "Destructed." << __E__;
30 } // end destructor()
31 
32 //========================================================================================================================
33 // mirror DataConsumer::registerToBuffer
34 void DataProducerBase::registerToBuffer(void)
35 {
36  __COUT__ << "Producer '" << DataProcessor::processorUID_
37  << "' is registering to DataManager Supervisor Buffer '"
38  << DataProcessor::supervisorApplicationUID_ << ":"
39  << DataProcessor::bufferUID_ << ".'" << std::endl;
40 
41  DataManager* dataManager =
42  (DataManagerSingleton::getInstance(supervisorApplicationUID_));
43 
44  dataManager->registerProducer(bufferUID_, this);
45 
46  {
47  __SS__;
48  dataManager->dumpStatus(&ss);
49  std::cout << ss.str() << __E__;
50  }
51 
52  __COUT__ << "Producer '" << DataProcessor::processorUID_ << "' Registered." << __E__;
53 } // end registerToBuffer()
54 //
57 // void DataProducerBase::unregisterFromBuffer(void)
58 //{
59 // __COUT__ << "Producer '" << DataProcessor::processorUID_ <<
60 // "' is unregistering to DataManager Supervisor Buffer '" <<
61 // DataProcessor::supervisorApplicationUID_ << ":" <<
62 // DataProcessor::bufferUID_ << ".'" << std::endl;
63 //
64 // DataManager* dataManager =
65 // (DataManagerSingleton::getInstance(
66 // supervisorApplicationUID_));
67 //
68 // dataManager->unregisterProducer(
69 // bufferUID_,DataProcessor::processorUID_);
70 //
71 // {
72 // __SS__;
73 // dataManager->dumpStatus(&ss);
74 // std::cout << ss.str() << __E__;
75 // }
76 //
77 // __COUT__ << "Producer '" << DataProcessor::processorUID_ <<
78 // "' Unregistered." << __E__;
79 //} //end unregisterFromBuffer()