18 this->capacity = (size_t) -1;
20 this->capacity = capacity;
26 std::unique_lock<std::mutex> lock(this->
mutex);
27 while(this->
queue.size()>= this->capacity) {
30 this->
queue.push(element);
Blocking queue implementation. Blocks when no elements are present and take() is called until further...
Definition BlockingQueue.hpp:14
std::queue< fishnet::Option< T > > queue
Definition BlockingQueue.hpp:17
std::condition_variable waitOnNotEmpty
Definition BlockingQueue.hpp:18
std::condition_variable waitOnNotFull
Definition BlockingQueue.hpp:19
std::mutex mutex
Definition BlockingQueue.hpp:16
Blocking queue with a fixed size. Blocks if capacity is reached until elements are removed again.
Definition FiniteBlockingQueue.hpp:11
void put(fishnet::Option< T > element) override
Definition FiniteBlockingQueue.hpp:25
FiniteBlockingQueue(size_t capacity)
Definition FiniteBlockingQueue.hpp:16
FiniteBlockingQueue()
Definition FiniteBlockingQueue.hpp:23
Definition AlternativeKeyMap.hpp:4