Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
metaxml example modifications
[simgrid.git] / src / surf / workstation.c
index 5bcf287..4afd973 100644 (file)
@@ -63,7 +63,6 @@ static const char *get_resource_name(void *resource_id)
 static int resource_used(void *resource_id)
 {
   THROW_IMPOSSIBLE;  /* This model does not implement parallel tasks */
-  return 0;
 }
 
 static void parallel_action_cancel(surf_action_t action)
@@ -74,7 +73,6 @@ static void parallel_action_cancel(surf_action_t action)
 static int parallel_action_free(surf_action_t action)
 {
   THROW_UNIMPLEMENTED;  /* This model does not implement parallel tasks */
-  return 0;
 }
 
 static void parallel_action_use(surf_action_t action)
@@ -161,7 +159,6 @@ static void update_resource_state(void *id,
                                  double value)
 {
   THROW_IMPOSSIBLE; /* This model does not implement parallel tasks */
-  return;
 }
 
 static surf_action_t execute(void *workstation, double size)
@@ -254,6 +251,12 @@ static double get_available_speed(void *workstation)
       get_available_speed(((workstation_CLM03_t) workstation)->cpu);
 }
 
+static xbt_dict_t get_properties(void *workstation)
+{
+  return surf_cpu_model->common_public->
+      get_properties(((workstation_CLM03_t) workstation)->cpu);
+}
+
 static surf_action_t execute_parallel_task(int workstation_nb,
                                           void **workstation_list,
                                           double *computation_amount,
@@ -262,7 +265,6 @@ static surf_action_t execute_parallel_task(int workstation_nb,
                                           double rate)
 {
   THROW_UNIMPLEMENTED;  /* This model does not implement parallel tasks */
-  return NULL;
 }
 
 
@@ -387,6 +389,10 @@ static void surf_workstation_model_init_internal(void)
   surf_workstation_model->extension_public->get_speed = get_speed;
   surf_workstation_model->extension_public->get_available_speed =
       get_available_speed;
+
+  /*manage the properties of the workstation*/
+  surf_workstation_model->common_public->get_properties = get_properties;
+
   surf_workstation_model->extension_public->communicate = communicate;
   surf_workstation_model->extension_public->execute_parallel_task =
       execute_parallel_task;