| 123 | } |
| 124 | |
| 125 | bool AsioThreadExecutor::IsInCurrentExecutor() const noexcept { |
| 126 | try { |
| 127 | auto finditr = std::find(thread_id_vec_.begin(), thread_id_vec_.end(), std::this_thread::get_id()); |
| 128 | return (finditr != thread_id_vec_.end()); |
| 129 | } catch (const std::exception& e) { |
| 130 | AIMRT_ERROR("{}", e.what()); |
| 131 | } |
| 132 | return false; |
| 133 | } |
| 134 | |
| 135 | void AsioThreadExecutor::Execute(aimrt::executor::Task&& task) noexcept { |
| 136 | if (state_.load() != State::kInit && state_.load() != State::kStart) [[unlikely]] { |