00001 #include "otsdaq-core/DataManager/CircularBufferBase.h"
00002 #include "otsdaq-core/DataManager/DataProducer.h"
00003 #include "otsdaq-core/DataManager/DataConsumer.h"
00004
00005 using namespace ots;
00006
00007
00008
00009 CircularBufferBase::CircularBufferBase(void)
00010 {
00011 }
00012
00013
00014 CircularBufferBase::~CircularBufferBase(void)
00015 {
00016 }
00017
00018
00019 void CircularBufferBase::registerProducer(DataProcessor* producer, unsigned int numberOfSubBuffers)
00020 {
00021 registerProducer(producer->getProcessorID(), numberOfSubBuffers);
00022 producer->setCircularBuffer(this);
00023 }
00024
00025
00026 void CircularBufferBase::registerConsumer(DataProcessor* consumer)
00027 {
00028 registerConsumer(consumer->getProcessorID(), HighConsumerPriority);
00029 consumer->setCircularBuffer(this);
00030 }
00031
00032
00033 void CircularBufferBase::unregisterConsumer(DataProcessor* consumer)
00034 {
00035 unregisterConsumer(consumer->getProcessorID());
00036 consumer->setCircularBuffer(0);
00037 }