- static std::atomic_ullong counter{0};
-
- msg_task_t task = new s_msg_task_t;
- simdata_task_t simdata = new s_simdata_task_t();
- task->simdata = simdata;
-
- /* Task structure */
- task->name = xbt_strdup(name);
- task->data = data;
-
- /* Simulator Data */
- simdata->bytes_amount = message_size;
- simdata->flops_amount = flop_amount;
-
- task->counter = counter++;
- task->category = nullptr;
-
- if (MC_is_active())
- MC_ignore_heap(&(task->counter), sizeof(task->counter));
-
- return task;
+ return new simgrid::msg::Task(name ? name : "", flop_amount, message_size, data);