| 762 | ~ThreadPool() override = default; |
| 763 | |
| 764 | bool enqueue(std::function<void()> fn) override { |
| 765 | { |
| 766 | std::unique_lock<std::mutex> lock(mutex_); |
| 767 | if (max_queued_requests_ > 0 && jobs_.size() >= max_queued_requests_) { |
| 768 | return false; |
| 769 | } |
| 770 | jobs_.push_back(std::move(fn)); |
| 771 | } |
| 772 | |
| 773 | cond_.notify_one(); |
| 774 | return true; |
| 775 | } |
| 776 | |
| 777 | void shutdown() override { |
| 778 | // Stop all worker threads... |