tdaq-develop-2025-02-12
ots::CircularBufferBase Class Referenceabstract

#include <otsdaq/DataManager/CircularBufferBase.h>

Inheritance diagram for ots::CircularBufferBase:
ots::CircularBuffer< D, H >

Public Types

enum  ConsumerPriority { LowConsumerPriority , HighConsumerPriority }
 

Public Member Functions

 CircularBufferBase (const std::string &bufferID)
 
virtual void reset (void)=0
 
void registerProducer (DataProcessor *producer, unsigned int numberOfSubBuffers=100)
 
void registerConsumer (DataProcessor *consumer)
 
virtual bool isEmpty (void) const =0
 
virtual unsigned int getTotalNumberOfSubBuffers (void) const =0
 
virtual unsigned int getProducerBufferSize (const std::string &producerID) const =0
 

Protected Member Functions

virtual void registerProducer (const std::string &producerID, unsigned int numberOfSubBuffers=100)=0
 
virtual void registerConsumer (const std::string &consumerID, ConsumerPriority priority)=0
 

Protected Attributes

std::string dataBufferId_
 
std::string mfSubject_
 

Detailed Description

CircularBufferBase This class is the base class for the otsdaq Buffer

Definition at line 12 of file CircularBufferBase.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 15 of file CircularBufferBase.h.


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