| 7 | namespace execution{ |
| 8 | |
| 9 | size_t executor::add_task(std::vector<std::unique_ptr<ral::cache::CacheData > > inputs, |
| 10 | std::shared_ptr<ral::cache::CacheMachine> output, |
| 11 | ral::cache::kernel * kernel, const std::map<std::string, std::string>& args) { |
| 12 | |
| 13 | auto task_id = task_id_counter.fetch_add(1, std::memory_order_relaxed); |
| 14 | |
| 15 | kernel->add_task(task_id); |
| 16 | |
| 17 | auto task_added = std::make_unique<task>( |
| 18 | std::move(inputs),output,task_id, kernel, attempts_limit, args |
| 19 | ); |
| 20 | |
| 21 | task_queue.put(std::move(task_added)); |
| 22 | return task_id; |
| 23 | } |
| 24 | |
| 25 | |
| 26 | void executor::add_task(std::vector<std::unique_ptr<ral::cache::CacheData > > inputs, |