From: suter Date: Tue, 10 Jul 2012 07:41:12 +0000 (+0200) Subject: Finally understand how the rate works. Explain it in the doxygen header. X-Git-Tag: v3_8~301 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/531cfb6d38ba7c7cb91f4e0e849032dbdebfe2e1 Finally understand how the rate works. Explain it in the doxygen header. Add an assert to be sure we do that only for point-to-point communications. --- diff --git a/src/simdag/sd_task.c b/src/simdag/sd_task.c index 11d27bba8a..c51d5f2847 100644 --- a/src/simdag/sd_task.c +++ b/src/simdag/sd_task.c @@ -279,14 +279,22 @@ void SD_task_set_data(SD_task_t task, void *data) /** * \brief Sets the rate of a task * - * This will change the percentage of the available power or network bandwidth - * a task can use. + * This will change the network bandwidth a task can use. This rate + * depends on both the nominal bandwidth on the route onto which the task is + * scheduled (\see SD_task_get_current_bandwidth) and the amount of data to + * transfer. * - * \param task a task - * \param rate the new rate (in percent) you want to associate with this task + * To divide the nominal bandwidth by 2, the rate then has to be : + * rate = bandwidth/(2*amount) + * + * \param task a \see SD_TASK_COMM_E2E task (end-to-end communication) + * \param rate the new rate you want to associate with this task. */ void SD_task_set_rate(SD_task_t task, double rate) { + xbt_assert(task->kind == SD_TASK_COMM_E2E, + "The rate can be modified for end-to-end communications only."); + task->rate = rate; }