- message* msg = new message(INFO_MSG, amount);
- m_task_t task = MSG_task_create("load msg", 0.0, sizeof *msg, msg);
- send(dest.get_ctrl_mbox(), task);
+ XBT_DEBUG("send %s to %s", msg->to_string().c_str(), dest);
+ double msg_size = sizeof *msg;
+ if (msg->get_type() == message::LOAD)
+ msg_size += opt::comm_cost(msg->get_amount());
+ m_task_t task = MSG_task_create("message", 0.0, msg_size, msg);
+ TRACE_msg_set_task_category(task,
+ msg->get_type() == message::LOAD ?
+ TRACE_CAT_DATA : TRACE_CAT_CTRL);
+ msg_comm_t comm = MSG_task_isend(task, dest);
+ sent_comm.push_back(comm);