#include <EventBuffer.h>
Classes | |
struct | Buffer |
struct | ConsumerType |
class | OperateBuffer |
struct | ProducerType |
Public Types | |
typedef OperateBuffer < ConsumerType > | ConsumerBuffer |
typedef OperateBuffer < ProducerType > | ProducerBuffer |
Public Member Functions | |
void | commitConsumerBuffer (void *, int) |
void | commitProducerBuffer (void *, int) |
bool | empty () |
EventBuffer (int max_event_size, int max_queue_depth) | |
Buffer | getConsumerBuffer () |
Buffer | getProducerBuffer () |
int | maxEventSize () const |
int | maxQueueDepth () const |
void | releaseConsumerBuffer (void *) |
void | releaseProducerBuffer (void *) |
~EventBuffer () | |
Private Types | |
typedef std::vector< char > | ByteArray |
typedef std::vector< void * > | Pool |
typedef std::vector< Buffer > | Queue |
Private Member Functions | |
EventBuffer (const EventBuffer &) | |
Private Attributes | |
unsigned int | bpos_ |
Pool | buffer_pool_ |
unsigned int | fpos_ |
int | max_event_size_ |
int | max_queue_depth_ |
ByteArray | mem_ |
boost::condition | pool_cond_ |
boost::mutex | pool_lock_ |
boost::condition | pop_cond_ |
int | pos_ |
boost::condition | push_cond_ |
Queue | queue_ |
boost::mutex | queue_lock_ |
Definition at line 43 of file EventBuffer.h.
|
private |
Definition at line 115 of file EventBuffer.h.
Definition at line 96 of file EventBuffer.h.
|
private |
Definition at line 117 of file EventBuffer.h.
Definition at line 97 of file EventBuffer.h.
|
private |
Definition at line 119 of file EventBuffer.h.
edm::EventBuffer::EventBuffer | ( | int | max_event_size, |
int | max_queue_depth | ||
) |
Definition at line 7 of file EventBuffer.cc.
References buffer_pool_, i, reco_skim_cfg_mod::max_event_size, and mem_.
edm::EventBuffer::~EventBuffer | ( | ) |
Definition at line 20 of file EventBuffer.cc.
|
inlineprivate |
Definition at line 112 of file EventBuffer.h.
void edm::EventBuffer::commitConsumerBuffer | ( | void * | v, |
int | |||
) |
Definition at line 90 of file EventBuffer.cc.
References releaseProducerBuffer().
Referenced by edm::EventBuffer::ConsumerType::commit().
void edm::EventBuffer::commitProducerBuffer | ( | void * | v, |
int | len | ||
) |
Definition at line 45 of file EventBuffer.cc.
References bpos_, fpos_, max_queue_depth_, pop_cond_, push_cond_, queue_, and queue_lock_.
Referenced by edm::EventBuffer::ProducerType::commit().
|
inline |
EventBuffer::Buffer edm::EventBuffer::getConsumerBuffer | ( | ) |
Definition at line 62 of file EventBuffer.cc.
References bpos_, fpos_, max_queue_depth_, pop_cond_, push_cond_, queue_, queue_lock_, and v.
EventBuffer::Buffer edm::EventBuffer::getProducerBuffer | ( | ) |
Definition at line 22 of file EventBuffer.cc.
References buffer_pool_, max_event_size_, pool_cond_, pool_lock_, pos_, and v.
|
inline |
|
inline |
void edm::EventBuffer::releaseConsumerBuffer | ( | void * | v | ) |
Definition at line 80 of file EventBuffer.cc.
References releaseProducerBuffer().
Referenced by edm::EventBuffer::ConsumerType::release().
void edm::EventBuffer::releaseProducerBuffer | ( | void * | v | ) |
Definition at line 35 of file EventBuffer.cc.
References buffer_pool_, pool_cond_, pool_lock_, pos_, and v.
Referenced by commitConsumerBuffer(), edm::EventBuffer::ProducerType::release(), and releaseConsumerBuffer().
|
private |
Definition at line 127 of file EventBuffer.h.
Referenced by commitProducerBuffer(), empty(), and getConsumerBuffer().
|
private |
Definition at line 125 of file EventBuffer.h.
Referenced by EventBuffer(), getProducerBuffer(), and releaseProducerBuffer().
|
private |
Definition at line 127 of file EventBuffer.h.
Referenced by commitProducerBuffer(), empty(), and getConsumerBuffer().
|
private |
Definition at line 121 of file EventBuffer.h.
Referenced by getProducerBuffer(), and maxEventSize().
|
private |
Definition at line 122 of file EventBuffer.h.
Referenced by commitProducerBuffer(), getConsumerBuffer(), and maxQueueDepth().
|
private |
Definition at line 124 of file EventBuffer.h.
Referenced by EventBuffer().
|
private |
Definition at line 131 of file EventBuffer.h.
Referenced by getProducerBuffer(), and releaseProducerBuffer().
|
private |
Definition at line 129 of file EventBuffer.h.
Referenced by getProducerBuffer(), and releaseProducerBuffer().
|
private |
Definition at line 132 of file EventBuffer.h.
Referenced by commitProducerBuffer(), and getConsumerBuffer().
|
private |
Definition at line 123 of file EventBuffer.h.
Referenced by getProducerBuffer(), and releaseProducerBuffer().
|
private |
Definition at line 133 of file EventBuffer.h.
Referenced by commitProducerBuffer(), and getConsumerBuffer().
|
private |
Definition at line 126 of file EventBuffer.h.
Referenced by commitProducerBuffer(), and getConsumerBuffer().
|
private |
Definition at line 130 of file EventBuffer.h.
Referenced by commitProducerBuffer(), empty(), and getConsumerBuffer().