![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
simple blocking synchronized queue More...
#include <synchronized_queue.h>


Public Member Functions | |
| T | pop (bool nonblocking=false) |
| void | push (T &&message) |
| void | push (T const &message) |
| int | size () |
| template<typename Rep , typename Period > | |
| bool | timed_pop (T &result, std::chrono::duration< Rep, Period > const &timeout) |
Private Attributes | |
| std::mutex | m_lock |
| std::queue< T > | m_queue |
| std::condition_variable | m_queue_decremented |
| std::condition_variable | m_queue_incremented |
simple blocking synchronized queue
Queue blocks if it size is higher than max_len on push. It also blocks on pop call if there is no element in the queue.
| T | type to be stored |
| max_len | maximal length of the queue until it bloks (-1 means unlimited) |
Definition at line 62 of file synchronized_queue.h.
|
inline |
Definition at line 92 of file synchronized_queue.h.
References synchronized_queue< T, max_len >::m_lock, synchronized_queue< T, max_len >::m_queue, synchronized_queue< T, max_len >::m_queue_decremented, and synchronized_queue< T, max_len >::m_queue_incremented.
Referenced by compress_pop(), decode_video_frame(), decompress_thread(), and fec_thread().
|
inline |
Definition at line 81 of file synchronized_queue.h.
References synchronized_queue< T, max_len >::m_lock, synchronized_queue< T, max_len >::m_queue, synchronized_queue< T, max_len >::m_queue_decremented, and synchronized_queue< T, max_len >::m_queue_incremented.
|
inline |
Definition at line 70 of file synchronized_queue.h.
References synchronized_queue< T, max_len >::m_lock, synchronized_queue< T, max_len >::m_queue, synchronized_queue< T, max_len >::m_queue_decremented, and synchronized_queue< T, max_len >::m_queue_incremented.
Referenced by compress_frame(), decode_video_frame(), decompress_thread(), fec_thread(), and video_decoder_stop_threads().
|
inline |
Definition at line 64 of file synchronized_queue.h.
References synchronized_queue< T, max_len >::m_lock, and synchronized_queue< T, max_len >::m_queue.
|
inline |
Definition at line 109 of file synchronized_queue.h.
References synchronized_queue< T, max_len >::m_lock, synchronized_queue< T, max_len >::m_queue, synchronized_queue< T, max_len >::m_queue_decremented, and synchronized_queue< T, max_len >::m_queue_incremented.
|
private |
Definition at line 124 of file synchronized_queue.h.
Referenced by synchronized_queue< T, max_len >::pop(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::size(), and synchronized_queue< T, max_len >::timed_pop().
|
private |
Definition at line 123 of file synchronized_queue.h.
Referenced by synchronized_queue< T, max_len >::pop(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::size(), and synchronized_queue< T, max_len >::timed_pop().
|
private |
Definition at line 125 of file synchronized_queue.h.
Referenced by synchronized_queue< T, max_len >::pop(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::push(), and synchronized_queue< T, max_len >::timed_pop().
|
private |
Definition at line 126 of file synchronized_queue.h.
Referenced by synchronized_queue< T, max_len >::pop(), synchronized_queue< T, max_len >::push(), synchronized_queue< T, max_len >::push(), and synchronized_queue< T, max_len >::timed_pop().