From abd96693f8b80954afbd7c7ec0e894172933113b Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 30 Jun 2009 21:00:01 +0000 Subject: [PATCH] roots of a generic surf_resource_t type git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6405 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/include/surf/surf.h | 3 +++ src/surf/surf.c | 18 +++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index 87f478cbbb..503cd52a34 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -186,6 +186,9 @@ XBT_PUBLIC(int) find_model_description(s_surf_model_description_t * table, #define surf_model_resource_set(model) (model)->common_public.resource_set void surf_model_exit(surf_model_t model); + typedef struct surf_resource { + surf_model_t model; + } s_surf_resource_t, *surf_resource_t; /**************************************/ /* Implementations of model object */ diff --git a/src/surf/surf.c b/src/surf/surf.c index 1690162142..3846add18d 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -106,10 +106,6 @@ int __surf_is_absolute_file_path(const char *file_path) #endif } -typedef struct surf_model_object { - surf_model_t model; -} s_surf_model_object_t, *surf_model_object_t; - static double NOW = 0; xbt_dynar_t model_list = NULL; @@ -436,7 +432,7 @@ void surf_presolve(void) double next_event_date = -1.0; tmgr_trace_event_t event = NULL; double value = -1.0; - surf_model_object_t model_obj = NULL; + surf_resource_t resource = NULL; surf_model_t model = NULL; unsigned int iter; @@ -447,8 +443,8 @@ void surf_presolve(void) break; while ((event = tmgr_history_get_next_event_leq(history, next_event_date, - &value, (void **) &model_obj))) { - model_obj->model->common_private->update_resource_state(model_obj, + &value, (void **) &resource))) { + resource->model->common_private->update_resource_state(resource, event, value, NOW); } @@ -464,7 +460,7 @@ double surf_solve(void) double next_event_date = -1.0; double model_next_action_end = -1.0; double value = -1.0; - surf_model_object_t model_obj = NULL; + surf_resource_t resource = NULL; surf_model_t model = NULL; tmgr_trace_event_t event = NULL; unsigned int iter; @@ -494,15 +490,15 @@ double surf_solve(void) DEBUG0("Updating models"); while ((event = tmgr_history_get_next_event_leq(history, next_event_date, - &value, (void **) &model_obj))) { - if (model_obj->model->common_private->resource_used(model_obj)) { + &value, (void **) &resource))) { + if (resource->model->common_private->resource_used(resource)) { min = next_event_date - NOW; DEBUG1 ("This event will modify model state. Next event set to %f", min); } /* update state of model_obj according to new value. Does not touch lmm. It will be modified if needed when updating actions */ - model_obj->model->common_private->update_resource_state(model_obj, + resource->model->common_private->update_resource_state(resource, event, value, NOW + min); } -- 2.20.1