Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge changes of maxmin_selective_update branch into the trunk.
[simgrid.git] / src / simdag / sd_task.c
index 9dad947..0c87b5c 100644 (file)
@@ -129,14 +129,12 @@ void __SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state)
   case SD_RUNNING:
     task->state_set = sd_global->running_task_set;
     task->start_time =
-      surf_workstation_model->common_public.action_get_start_time(task->
-                                                                  surf_action);
+      surf_workstation_model->action_get_start_time(task->surf_action);
     break;
   case SD_DONE:
     task->state_set = sd_global->done_task_set;
     task->finish_time =
-      surf_workstation_model->common_public.action_get_finish_time(task->
-                                                                   surf_action);
+      surf_workstation_model->action_get_finish_time(task->surf_action);
     task->remains = 0;
     break;
   case SD_FAILED:
@@ -195,7 +193,7 @@ double SD_task_get_remaining_amount(SD_task_t task)
   xbt_assert0(task != NULL, "Invalid parameter");
 
   if (task->surf_action)
-    return task->surf_action->remains;
+    return surf_workstation_model->get_remains(task->surf_action);
   else
     return task->remains;
 }
@@ -645,7 +643,7 @@ void SD_task_unschedule(SD_task_t task)
     __SD_task_destroy_scheduling_data(task);
 
   if (__SD_task_is_running(task))       /* the task should become SD_FAILED */
-    surf_workstation_model->common_public.action_cancel(task->surf_action);
+    surf_workstation_model->action_cancel(task->surf_action);
   else
     __SD_task_set_state(task, SD_NOT_SCHEDULED);
   task->remains = task->amount;
@@ -760,8 +758,7 @@ void __SD_task_really_run(SD_task_t task)
     xbt_free(surf_workstations);
   }
 
-  surf_workstation_model->common_public.action_set_data(task->surf_action,
-                                                        task);
+  surf_workstation_model->action_data_set(task->surf_action, task);
 
   DEBUG1("surf_action = %p", task->surf_action);
 
@@ -845,7 +842,7 @@ void __SD_task_just_done(SD_task_t task)
   candidates = xbt_new(SD_task_t, 8);
 
   __SD_task_set_state(task, SD_DONE);
-  surf_workstation_model->common_public.action_free(task->surf_action);
+  surf_workstation_model->action_unref(task->surf_action);
   task->surf_action = NULL;
 
   DEBUG0("Looking for candidates");
@@ -999,8 +996,7 @@ double SD_task_get_start_time(SD_task_t task)
   SD_CHECK_INIT_DONE();
   xbt_assert0(task != NULL, "Invalid parameter");
   if (task->surf_action)
-    return surf_workstation_model->common_public.action_get_start_time(task->
-                                                                       surf_action);
+    return surf_workstation_model->action_get_start_time(task->surf_action);
   else
     return task->start_time;
 }
@@ -1022,8 +1018,7 @@ double SD_task_get_finish_time(SD_task_t task)
   xbt_assert0(task != NULL, "Invalid parameter");
 
   if (task->surf_action)        /* should never happen as actions are destroyed right after their completion */
-    return surf_workstation_model->common_public.
-      action_get_finish_time(task->surf_action);
+    return surf_workstation_model->action_get_finish_time(task->surf_action);
   else
     return task->finish_time;
 }
@@ -1053,7 +1048,7 @@ void SD_task_destroy(SD_task_t task)
     xbt_free(task->name);
 
   if (task->surf_action != NULL)
-    surf_workstation_model->common_public.action_free(task->surf_action);
+    surf_workstation_model->action_unref(task->surf_action);
 
   if (task->workstation_list != NULL)
     xbt_free(task->workstation_list);