Agora  1.2.0
Agora project
spdlog::details::mpmc_blocking_queue< T > Class Template Reference

#include <mpmc_blocking_q.h>

Public Types

using item_type = T
 

Public Member Functions

 mpmc_blocking_queue (size_t max_items)
 
void enqueue (T &&item)
 
void enqueue_nowait (T &&item)
 
bool dequeue_for (T &popped_item, std::chrono::milliseconds wait_duration)
 
size_t overrun_counter ()
 
size_t size ()
 

Private Attributes

std::mutex queue_mutex_
 
std::condition_variable push_cv_
 
std::condition_variable pop_cv_
 
spdlog::details::circular_q< Tq_
 

Member Typedef Documentation

◆ item_type

template<typename T >
using spdlog::details::mpmc_blocking_queue< T >::item_type = T

Constructor & Destructor Documentation

◆ mpmc_blocking_queue()

template<typename T >
spdlog::details::mpmc_blocking_queue< T >::mpmc_blocking_queue ( size_t  max_items)
inlineexplicit

Member Function Documentation

◆ dequeue_for()

template<typename T >
bool spdlog::details::mpmc_blocking_queue< T >::dequeue_for ( T popped_item,
std::chrono::milliseconds  wait_duration 
)
inline
Here is the caller graph for this function:

◆ enqueue()

template<typename T >
void spdlog::details::mpmc_blocking_queue< T >::enqueue ( T &&  item)
inline
Here is the caller graph for this function:

◆ enqueue_nowait()

template<typename T >
void spdlog::details::mpmc_blocking_queue< T >::enqueue_nowait ( T &&  item)
inline
Here is the caller graph for this function:

◆ overrun_counter()

template<typename T >
size_t spdlog::details::mpmc_blocking_queue< T >::overrun_counter ( )
inline
Here is the caller graph for this function:

◆ size()

template<typename T >
size_t spdlog::details::mpmc_blocking_queue< T >::size ( )
inline
Here is the caller graph for this function:

Member Data Documentation

◆ pop_cv_

template<typename T >
std::condition_variable spdlog::details::mpmc_blocking_queue< T >::pop_cv_
private

◆ push_cv_

template<typename T >
std::condition_variable spdlog::details::mpmc_blocking_queue< T >::push_cv_
private

◆ q_

◆ queue_mutex_

template<typename T >
std::mutex spdlog::details::mpmc_blocking_queue< T >::queue_mutex_
private

The documentation for this class was generated from the following file: