1 #include "otsdaq/FECore/FEProducerVInterface.h"
2 #include "otsdaq/DataManager/DataManager.h"
3 #include "otsdaq/DataManager/DataManagerSingleton.h"
8 #define __MF_SUBJECT__ "FEProducer"
9 #define mfSubject_ (std::string("FEProducer-") + DataProcessor::processorUID_)
12 FEProducerVInterface::FEProducerVInterface(
13 const std::string& interfaceUID,
15 const std::string& interfaceConfigurationPath)
16 :
FEVInterface(interfaceUID, theXDAQContextConfigTree, interfaceConfigurationPath)
18 theXDAQContextConfigTree.getBackNode(interfaceConfigurationPath, 4)
20 theXDAQContextConfigTree
21 .getNode(interfaceConfigurationPath +
"/" +
"LinkToDataBufferTable", 4)
29 __GEN_COUT__ <<
"'" << interfaceUID <<
"' Constructed." << __E__;
31 __GEN_COUTV__(interfaceConfigurationPath);
33 theXDAQContextConfigTree.getBackNode(interfaceConfigurationPath, 2);
39 FEProducerVInterface::~FEProducerVInterface(
void)
41 __FE_COUT__ <<
"Destructor." << __E__;
44 __GEN_COUT__ <<
"FEProducer '" << DataProcessor::processorUID_
45 <<
"' is unregistering from DataManager Supervisor Buffer '"
46 << DataProcessor::supervisorApplicationUID_ <<
":"
47 << DataProcessor::bufferUID_ <<
".'" << std::endl;
50 (DataManagerSingleton::getInstance(supervisorApplicationUID_));
57 std::cout << ss.str() << __E__;
60 __GEN_COUT__ <<
"FEProducer '" << DataProcessor::processorUID_ <<
"' unregistered."
63 __FE_COUT__ <<
"Destructed." << __E__;
91 __FE_COUT__ <<
"Write Data: "
92 << BinaryStringMacros::binaryNumberToHexString(dataToWrite) << __E__;
94 DataProducerBase::write<std::string, std::map<std::string, std::string> >(
138 if(DataProducerBase::attachToEmptySubBuffer(FEProducerVInterface::dataP_,
139 FEProducerVInterface::headerP_) < 0)
142 <<
"There are no available buffers! Retrying...after waiting 10 milliseconds!"
147 return FEProducerVInterface::dataP_;
156 __FE_COUT__ <<
"Writing data of size " << FEProducerVInterface::dataP_->size()
159 DataProducerBase::setWrittenSubBuffer<std::string,
160 std::map<std::string, std::string> >();
162 __FE_COUT__ <<
"Data written." << __E__;
const std::string & getValueAsString(bool returnLinkTableValue=false) const
void unregisterFEProducer(const std::string &bufferID, const std::string &feProducerID)
void dumpStatus(std::ostream *out=(std::ostream *)&(std::cout)) const
virtual void writeCurrentBuffer(void)
virtual void copyToNextBuffer(const std::string &dataToWrite)
virtual std::string * getNextBuffer(void)