![]() |
TrinityCore
|
#include <ProducerConsumerQueue.h>
Public Member Functions | |
| ProducerConsumerQueue () | |
| void | Push (T const &value) |
| void | Push (T &&value) |
| bool | Empty () const |
| size_t | Size () const |
| bool | Pop (T &value) |
| void | WaitAndPop (T &value) |
| void | Cancel () |
Private Attributes | |
| std::mutex | _queueLock |
| std::queue< T > | _queue |
| std::condition_variable | _condition |
| std::atomic< bool > | _shutdown |
Definition at line 28 of file ProducerConsumerQueue.h.
|
inline |
Definition at line 38 of file ProducerConsumerQueue.h.
|
inline |
Definition at line 98 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_condition, ProducerConsumerQueue< T >::_queue, ProducerConsumerQueue< T >::_queueLock, and ProducerConsumerQueue< T >::_shutdown.
Referenced by MapUpdater::deactivate().
|
inline |
Definition at line 56 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_queue, and ProducerConsumerQueue< T >::_queueLock.
|
inline |
Definition at line 70 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_queue, ProducerConsumerQueue< T >::_queueLock, and ProducerConsumerQueue< T >::_shutdown.
|
inline |
Definition at line 48 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_condition, ProducerConsumerQueue< T >::_queue, and ProducerConsumerQueue< T >::_queueLock.
|
inline |
Definition at line 40 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_condition, ProducerConsumerQueue< T >::_queue, and ProducerConsumerQueue< T >::_queueLock.
Referenced by MapUpdater::schedule_update().
|
inline |
Definition at line 63 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_queue, and ProducerConsumerQueue< T >::_queueLock.
|
inline |
Definition at line 84 of file ProducerConsumerQueue.h.
References ProducerConsumerQueue< T >::_condition, ProducerConsumerQueue< T >::_queue, ProducerConsumerQueue< T >::_queueLock, and ProducerConsumerQueue< T >::_shutdown.
Referenced by MapUpdater::WorkerThread().
|
private |
Definition at line 33 of file ProducerConsumerQueue.h.
Referenced by ProducerConsumerQueue< T >::Cancel(), ProducerConsumerQueue< T >::Push(), ProducerConsumerQueue< T >::Push(), and ProducerConsumerQueue< T >::WaitAndPop().
|
private |
Definition at line 32 of file ProducerConsumerQueue.h.
Referenced by ProducerConsumerQueue< T >::Cancel(), ProducerConsumerQueue< T >::Empty(), ProducerConsumerQueue< T >::Pop(), ProducerConsumerQueue< T >::Push(), ProducerConsumerQueue< T >::Push(), ProducerConsumerQueue< T >::Size(), and ProducerConsumerQueue< T >::WaitAndPop().
|
mutableprivate |
Definition at line 31 of file ProducerConsumerQueue.h.
Referenced by ProducerConsumerQueue< T >::Cancel(), ProducerConsumerQueue< T >::Empty(), ProducerConsumerQueue< T >::Pop(), ProducerConsumerQueue< T >::Push(), ProducerConsumerQueue< T >::Push(), ProducerConsumerQueue< T >::Size(), and ProducerConsumerQueue< T >::WaitAndPop().
|
private |
Definition at line 34 of file ProducerConsumerQueue.h.
Referenced by ProducerConsumerQueue< T >::Cancel(), ProducerConsumerQueue< T >::Pop(), and ProducerConsumerQueue< T >::WaitAndPop().