| 1761 | } |
| 1762 | |
| 1763 | bool Task::updateOutputBuffers(int numBuffers, bool noMoreBuffers) { |
| 1764 | auto bufferManager = bufferManager_.lock(); |
| 1765 | BOLT_CHECK_NOT_NULL( |
| 1766 | bufferManager, |
| 1767 | "Unable to initialize task. " |
| 1768 | "OutputBufferManager was already destructed"); |
| 1769 | { |
| 1770 | std::lock_guard<std::timed_mutex> l(mutex_); |
| 1771 | if (noMoreOutputBuffers_) { |
| 1772 | // Ignore messages received after no-more-buffers message. |
| 1773 | return false; |
| 1774 | } |
| 1775 | if (noMoreBuffers) { |
| 1776 | noMoreOutputBuffers_ = true; |
| 1777 | } |
| 1778 | } |
| 1779 | return bufferManager->updateOutputBuffers(taskId_, numBuffers, noMoreBuffers); |
| 1780 | } |
| 1781 | |
| 1782 | int Task::getOutputPipelineId() const { |
| 1783 | for (auto i = 0; i < driverFactories_.size(); ++i) { |