* Pop an element from the queue. * It will be blocked until one element is poped. */
| 54 | * It will be blocked until one element is poped. |
| 55 | */ |
| 56 | void Pop(T& e) { |
| 57 | std::unique_lock<std::mutex> lock(mutex_); |
| 58 | condition_.wait(lock, [this]() { return !queue_.empty(); }); |
| 59 | e = queue_.front(); |
| 60 | queue_.pop(); |
| 61 | } |
| 62 | /** |
| 63 | * Pop an item from the queue until one element is poped or timout. |
| 64 | * @param[in] timeout, return false after waiting this number of microseconds |
no test coverage detected