X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5bdb31bdfb7418aef268f3857d86308acee33ba9..dd22867177c86db2e9d0b76852cb09e044b1c0c8:/src/surf/workstation.c?ds=sidebyside diff --git a/src/surf/workstation.c b/src/surf/workstation.c index 62b36e266b..22e7953481 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -268,6 +268,17 @@ void ws_action_set_priority(surf_action_t action, double priority) DIE_IMPOSSIBLE; } +void ws_action_set_bound(surf_action_t action, double bound) +{ + /* FIXME: only for CPU model object? */ + if (action->model_obj->type == SURF_MODEL_TYPE_NETWORK) + surf_network_model->set_bound(action, bound); + else if (action->model_obj->type == SURF_MODEL_TYPE_CPU) + action->model_obj->set_bound(action, bound); + else + DIE_IMPOSSIBLE; +} + #ifdef HAVE_TRACING static void ws_action_set_category(surf_action_t action, const char *category) { @@ -290,7 +301,7 @@ static int ws_get_latency_limited(surf_action_t action) } #endif -static double ws_action_get_remains(surf_action_t action) +double ws_action_get_remains(surf_action_t action) { if (action->model_obj->type == SURF_MODEL_TYPE_NETWORK) return surf_network_model->get_remains(action); @@ -317,7 +328,7 @@ e_surf_resource_state_t ws_get_state(void *workstation) return cpu->model->extension.cpu.get_state(workstation); } -static double ws_get_speed(void *workstation, double load) +double ws_get_speed(void *workstation, double load) { surf_resource_t cpu = ((surf_resource_t) surf_cpu_resource_priv(workstation)); return cpu->model->extension.cpu.get_speed(workstation, load); @@ -532,6 +543,7 @@ static void surf_workstation_model_init_internal(void) model->is_suspended = ws_action_is_suspended; model->set_max_duration = ws_action_set_max_duration; model->set_priority = ws_action_set_priority; + model->set_bound = ws_action_set_bound; #ifdef HAVE_TRACING model->set_category = ws_action_set_category; #endif