+ xbt_assert(not task->simdata->has_tracing_category(), "Task %p(%s) already has a category (%s).", task,
+ task->simdata->get_cname(), task->simdata->get_tracing_category().c_str());
+
+ // if user provides a nullptr category, task is no longer traced
+ if (category == nullptr) {
+ task->simdata->set_tracing_category("");
+ XBT_DEBUG("MSG task %p(%s), category removed", task, task->simdata->get_cname());
+ } else {
+ // set task category
+ task->simdata->set_tracing_category(category);
+ XBT_DEBUG("MSG task %p(%s), category %s", task, task->simdata->get_cname(),
+ task->simdata->get_tracing_category().c_str());
+ }