tdaq-develop-2025-02-12
ots::DataConsumer Class Reference

#include <otsdaq/DataManager/DataConsumer.h>

Inheritance diagram for ots::DataConsumer:
ots::DataProcessor ots::WorkLoop ots::ARTDAQConsumer ots::DQMHistosConsumerBase ots::DataDecoderConsumer ots::RawDataSaverConsumerBase ots::RawDataVisualizerConsumer ots::TCPDataStreamerConsumer ots::UDPDataStreamerConsumer ots::OtsDataSaverConsumer ots::RawDataSaverConsumer

Public Types

enum  ConsumerPriority { LowConsumerPriority , HighConsumerPriority }
 

Public Member Functions

 DataConsumer (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, ConsumerPriority priority)
 
virtual void registerToBuffer (void)
 mirror DataProducerBase::registerToBuffer
 
virtual void configure (void)
 
virtual void startProcessingData (std::string runNumber)
 
virtual void stopProcessingData (void)
 
template<class D , class H >
int read (D &buffer, H &header)
 Copies the buffer into the passed parameters.
 
template<class D , class H >
int read (D *&buffer, H *&header)
 Fast version where you point to the buffer without copying.
 
template<class D , class H >
int setReadSubBuffer (void)
 
template<class D , class H >
int read (D &buffer)
 
ConsumerPriority getPriority (void)
 
- Public Member Functions inherited from ots::DataProcessor
 DataProcessor (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID)
 
virtual void pauseProcessingData (void)
 
virtual void resumeProcessingData (void)
 
const std::string & getProcessorID (void) const
 Getters.
 
void setCircularBuffer (CircularBufferBase *circularBuffer)
 
- Public Member Functions inherited from ots::WorkLoop
 WorkLoop (const std::string &name)
 
void startWorkLoop (void)
 
bool stopWorkLoop (void)
 
bool isActive (void) const
 

Additional Inherited Members

- Protected Member Functions inherited from ots::WorkLoop
virtual bool workLoopThread (toolbox::task::WorkLoop *workLoop)=0
 
const std::string & getWorkLoopName (void) const
 Getters.
 
- Protected Attributes inherited from ots::DataProcessor
const std::string supervisorApplicationUID_
 
const std::string bufferUID_
 
const std::string processorUID_
 
CircularBufferBasetheCircularBuffer_
 
- Protected Attributes inherited from ots::WorkLoop
volatile bool continueWorkLoop_
 

Detailed Description

DataConsumer This class provides base class functionality for Data Consumer plugin classes to extracts and process streaming data from a Buffer.

Definition at line 13 of file DataConsumer.h.

Member Enumeration Documentation

◆ ConsumerPriority

Enumerator
LowConsumerPriority 

If the buffers are full because a low priority consumer didn't emptied them then overwrite

HighConsumerPriority 

Can't overwrite but need to wait for sometime before writing a buffer

Definition at line 16 of file DataConsumer.h.

Member Function Documentation

◆ startProcessingData()

void DataConsumer::startProcessingData ( std::string  runNumber)
virtual

mirror DataProducerBase::unregisterFromBuffer void DataConsumer::unregisterFromBuffer(void)

Implements ots::DataProcessor.

Reimplemented in ots::RawDataVisualizerConsumer, ots::ARTDAQConsumer, and ots::RawDataSaverConsumerBase.

Definition at line 101 of file DataConsumer.cc.


The documentation for this class was generated from the following files: