Go to the documentation of this file. 1 #ifndef FWCore_Utilities_SingleConsumerQ_h
2 #define FWCore_Utilities_SingleConsumerQ_h
39 #include <condition_variable>
110 typedef std::vector<void*>
Pool;
std::condition_variable pool_cond_
static void release(SingleConsumerQ &b, void *v)
void commitConsumerBuffer(void *, int)
SingleConsumerQ(int max_event_size, int max_queue_depth)
static SingleConsumerQ::Buffer get(SingleConsumerQ &b)
static void commit(SingleConsumerQ &b, void *v, int size)
static SingleConsumerQ::Buffer get(SingleConsumerQ &b)
static void release(SingleConsumerQ &b, void *v)
static void commit(SingleConsumerQ &b, void *v, int size)
void releaseProducerBuffer(void *)
Buffer getConsumerBuffer()
std::condition_variable pop_cond_
void commitProducerBuffer(void *, int)
void releaseConsumerBuffer(void *)
T const & get(Event const &event, InputTag const &tag) noexcept(false)
std::condition_variable push_cond_
void commit(int theSize=0)
OperateBuffer< ConsumerType > ConsumerBuffer
Buffer getProducerBuffer()
std::vector< char > ByteArray
OperateBuffer< ProducerType > ProducerBuffer
SingleConsumerQ::Buffer v_
OperateBuffer(SingleConsumerQ &b)
std::vector< void * > Pool
std::vector< Buffer > Queue
int maxQueueDepth() const