1 #ifndef FWCore_Utilities_SingleConsumerQ_h
2 #define FWCore_Utilities_SingleConsumerQ_h
38 #include "boost/thread/mutex.hpp"
39 #include "boost/thread/condition.hpp"
61 {
return b.getConsumerBuffer(); }
70 {
return b.getProducerBuffer(); }
117 typedef std::vector<void*>
Pool;
boost::condition pop_cond_
static void commit(SingleConsumerQ &b, void *v, int size)
void releaseConsumerBuffer(void *)
OperateBuffer(SingleConsumerQ &b)
static void release(SingleConsumerQ &b, void *v)
std::vector< void * > Pool
static boost::mutex mutex
SingleConsumerQ::Buffer v_
Buffer getProducerBuffer()
std::vector< Buffer > Queue
void releaseProducerBuffer(void *)
OperateBuffer< ProducerType > ProducerBuffer
boost::condition push_cond_
OperateBuffer< ConsumerType > ConsumerBuffer
static void commit(SingleConsumerQ &b, void *v, int size)
void commit(int theSize=0)
std::vector< char > ByteArray
void commitProducerBuffer(void *, int)
boost::condition pool_cond_
void commitConsumerBuffer(void *, int)
int maxQueueDepth() const
tuple size
Write out results.
T get(const Candidate &c)
static void release(SingleConsumerQ &b, void *v)
Buffer getConsumerBuffer()
SingleConsumerQ(int max_event_size, int max_queue_depth)