25#ifndef LOG4CPLUS_HELPERS_QUEUE_H
26#define LOG4CPLUS_HELPERS_QUEUE_H
30#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
34#if ! defined (LOG4CPLUS_SINGLE_THREADED)
56 explicit Queue (
unsigned len = 100);
The internal representation of logging events.
Semaphore sem
Semaphore that limits the queue length.
flags_type signal_exit(bool drain=true)
queue_storage_type queue
Queue storage.
unsigned flags_type
Type of the state flags field.
Flags
Possible state flags.
@ ERROR_BIT
ERROR_BIT signals error.
flags_type put_event(spi::InternalLoggingEvent const &ev)
flags_type get_events(queue_storage_type *buf)
flags_type flags
State flags.
ManualResetEvent ev_consumer
Event on which consumer can wait if it finds queue empty.
std::deque< spi::InternalLoggingEvent > queue_storage_type
Queue storage type.
Mutex mutex
Mutex protecting queue and flags.
helpers::SharedObjectPtr< Queue > QueuePtr