otsdaq  v1_01_04
 All Classes Namespaces Functions
CircularBufferBase.cc
1 #include "otsdaq-core/DataManager/CircularBufferBase.h"
2 #include "otsdaq-core/DataManager/DataProducer.h"
3 #include "otsdaq-core/DataManager/DataConsumer.h"
4 
5 using namespace ots;
6 
7 
8 //========================================================================================================================
9 CircularBufferBase::CircularBufferBase(void)
10 {
11 }
12 
13 //========================================================================================================================
14 CircularBufferBase::~CircularBufferBase(void)
15 {
16 }
17 
18 //========================================================================================================================
19 void CircularBufferBase::registerProducer(DataProcessor* producer, unsigned int numberOfSubBuffers)
20 {
21  registerProducer(producer->getProcessorID(), numberOfSubBuffers);
22  producer->setCircularBuffer(this);
23 }
24 
25 //========================================================================================================================
26 void CircularBufferBase::registerConsumer(DataProcessor* consumer)
27 {
28  registerConsumer(consumer->getProcessorID(), HighConsumerPriority);
29  consumer->setCircularBuffer(this);
30 }
31 
32 //========================================================================================================================
33 void CircularBufferBase::unregisterConsumer(DataProcessor* consumer)
34 {
35  unregisterConsumer(consumer->getProcessorID());
36  consumer->setCircularBuffer(0);
37 }