Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Allow MSG one-side communications that rely on parallel task to work with the compoun...
[simgrid.git] / src / surf / new_model.c
index 76a6086..ea2b572 100644 (file)
@@ -29,13 +29,6 @@ static xbt_swag_t
 #define GENERIC_ACTION(action) GENERIC_LMM_ACTION(action).generic_action
 
 static void new_model_action_state_set(surf_action_t action, e_surf_action_state_t state);
-static surf_action_t new_model_action_execute ();
-
-static surf_action_t new_model_action_fct()
-{
-  surf_action_t action = new_model_action_execute();
-  return action;
-}
 
 static surf_action_t new_model_action_execute ()
 {
@@ -43,6 +36,12 @@ static surf_action_t new_model_action_execute ()
   return NULL;
 }
 
+static surf_action_t new_model_action_fct()
+{
+  surf_action_t action = new_model_action_execute();
+  return action;
+}
+
 static void* new_model_create_resource(const char* id, const char* model,const char* type_id,const char* content_name)
 {
   THROW_UNIMPLEMENTED;
@@ -51,18 +50,25 @@ static void* new_model_create_resource(const char* id, const char* model,const c
 
 static void new_model_finalize(void)
 {
-  THROW_UNIMPLEMENTED;
+  lmm_system_free(new_model_maxmin_system);
+  new_model_maxmin_system = NULL;
+
+  surf_model_exit(surf_new_model);
+  surf_new_model = NULL;
+
+  xbt_swag_free
+      (new_model_running_action_set_that_does_not_need_being_checked);
+  new_model_running_action_set_that_does_not_need_being_checked = NULL;
 }
 
 static void new_model_update_actions_state(double now, double delta)
 {
-  THROW_UNIMPLEMENTED;
+  return;
 }
 
 static double new_model_share_resources(double NOW)
 {
-  THROW_UNIMPLEMENTED;
-  return 0;
+  return -1;
 }
 
 static int new_model_resource_used(void *resource_id)
@@ -131,7 +137,7 @@ static void new_model_define_callbacks()
 {
 }
 
-static void surf_new_model_model_init_internal(void)
+static void surf_new_model_init_internal(void)
 {
   s_surf_action_t action;
 
@@ -141,7 +147,7 @@ static void surf_new_model_model_init_internal(void)
   new_model_running_action_set_that_does_not_need_being_checked =
       xbt_swag_new(xbt_swag_offset(action, state_hookup));
 
-  surf_new_model->name = "Storage";
+  surf_new_model->name = "New Model";
   surf_new_model->action_unref = new_model_action_unref;
   surf_new_model->action_cancel = new_model_action_cancel;
   surf_new_model->action_state_set = new_model_action_state_set;
@@ -167,9 +173,9 @@ static void surf_new_model_model_init_internal(void)
 
 }
 
-void surf_new_model_model_init_default(void)
+void surf_new_model_init_default(void)
 {
-  surf_new_model_model_init_internal();
+  surf_new_model_init_internal();
   new_model_define_callbacks();
 
   xbt_dynar_push(model_list, &surf_new_model);