Cancel an active wiring and release any owned coroutine.
488{
490
491 if (!reg.task_name.empty()) {
493 reg.task_name.clear();
494 }
495 if (!reg.chain_name.empty()) {
497 reg.chain_name.clear();
498 }
499 if (!reg.event_name.empty()) {
501 reg.event_name.clear();
502 }
503
505 (*m_bind_detach)();
506 }
507}
Vruta::TaskScheduler & m_scheduler
std::unordered_map< uint32_t, Registration > m_registrations
Vruta::EventManager & m_event_manager
std::optional< std::function< void()> > m_bind_detach
bool cancel_event(const std::shared_ptr< Event > &event)
Cancels and removes a event from the manager.
bool cancel_task(const std::shared_ptr< Routine > &routine)
Cancels and removes a task from the scheduler.