+
+
+/** \ingroup m_task_management
+ * \brief Returns the total amount received by a task #m_task_t.
+ *
+ */
+double MSG_task_get_remaining_communication(m_task_t task)
+{
+ xbt_assert0((task != NULL)
+ && (task->simdata != NULL), "Invalid parameter");
+
+ return SIMIX_communication_get_remains(task->simdata->comm);
+}
+
+/** \ingroup m_task_management
+ * \brief Returns the size of the data attached to a task #m_task_t.
+ *
+ */
+double MSG_task_get_data_size(m_task_t task)
+{
+ xbt_assert0((task != NULL)
+ && (task->simdata != NULL), "Invalid parameter");
+
+ return task->simdata->message_size;
+}
+
+
+
+/** \ingroup m_task_management
+ * \brief Changes the priority of a computation task. This priority doesn't affect
+ * the transfer rate. A priority of 2 will make a task receive two times more
+ * cpu power than the other ones.
+ *
+ */
+void MSG_task_set_priority(m_task_t task, double priority)
+{
+ xbt_assert0((task != NULL)
+ && (task->simdata != NULL), "Invalid parameter");
+
+ task->simdata->priority = 1 / priority;
+ if (task->simdata->compute)
+ SIMIX_action_set_priority(task->simdata->compute,
+ task->simdata->priority);