MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ stop_all()

void MayaFlux::Yantra::Vision::VisionWorkflow::stop_all ( )

Stop every live run this workflow started and release what they hold.

Outputs already returned keep their content.

Definition at line 361 of file VisionWorkflow.cpp.

362{
363 const auto events = m_event_manager.lock();
364
365 for (const auto& [name, consumer] : m_runs) {
366 stop_producer(m_scheduler, name);
367 if (const auto event = consumer.lock(); event && events)
368 events->cancel_event(event);
369 }
370
371 m_runs.clear();
372}
std::string name
Definition VKDevice.cpp:123
std::weak_ptr< Vruta::EventManager > m_event_manager
std::weak_ptr< Vruta::TaskScheduler > m_scheduler
std::vector< std::pair< std::string, std::weak_ptr< Vruta::Event > > > m_runs
Per live run: its producer task's name and its consumer.

References m_event_manager, m_runs, m_scheduler, and name.

Referenced by ~VisionWorkflow().

+ Here is the caller graph for this function: