|
|
@ -30,12 +30,6 @@ public:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
size_t overrun_counter() const
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
std::unique_lock<std::mutex> lock(queue_mutex_);
|
|
|
|
|
|
|
|
return q_.overrun_counter();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __MINGW32__
|
|
|
|
#ifndef __MINGW32__
|
|
|
|
// try to enqueue and block if no room left
|
|
|
|
// try to enqueue and block if no room left
|
|
|
|
void enqueue(T &&item)
|
|
|
|
void enqueue(T &&item)
|
|
|
@ -111,6 +105,12 @@ public:
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
size_t overrun_counter()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
std::unique_lock<std::mutex> lock(queue_mutex_);
|
|
|
|
|
|
|
|
return q_.overrun_counter();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
private:
|
|
|
|
std::mutex queue_mutex_;
|
|
|
|
std::mutex queue_mutex_;
|
|
|
|
std::condition_variable push_cv_;
|
|
|
|
std::condition_variable push_cv_;
|
|
|
|