| 73 | template <class T> struct ThreadedQueue : public BaseThreadQueue { |
| 74 | public: |
| 75 | ThreadedQueue() { |
| 76 | owned_waiter_ = std::make_unique<MultiQueueWaiter>(); |
| 77 | waiter_ = owned_waiter_.get(); |
| 78 | } |
| 79 | explicit ThreadedQueue(MultiQueueWaiter *waiter) : waiter_(waiter) {} |
| 80 | |
| 81 | // Returns the number of elements in the queue. This is lock-free. |