tmgr_history_t history = NULL;
lmm_system_t maxmin_system = NULL;
xbt_dynar_t surf_path = NULL;
-const char *surf_action_state_names[6] = {
- "SURF_ACTION_READY",
- "SURF_ACTION_RUNNING",
- "SURF_ACTION_FAILED",
- "SURF_ACTION_DONE",
- "SURF_ACTION_TO_FREE",
- "SURF_ACTION_NOT_IN_THE_SYSTEM"
-};
/* Don't forget to update the option description in smx_config when you change this */
s_surf_model_description_t surf_network_model_description[] = {
return min;
}
-e_surf_action_state_t surf_action_get_state(surf_action_t action)
-{
- surf_action_state_t action_state =
- &(action->model_type->common_public.states);
-
- if (action->state_set == action_state->ready_action_set)
- return SURF_ACTION_READY;
- if (action->state_set == action_state->running_action_set)
- return SURF_ACTION_RUNNING;
- if (action->state_set == action_state->failed_action_set)
- return SURF_ACTION_FAILED;
- if (action->state_set == action_state->done_action_set)
- return SURF_ACTION_DONE;
- return SURF_ACTION_NOT_IN_THE_SYSTEM;
-}
-
-double surf_action_get_start_time(surf_action_t action)
-{
- return action->start;
-}
-
-double surf_action_get_finish_time(surf_action_t action)
-{
- return action->finish;
-}
-
-void surf_action_free(surf_action_t * action)
-{
- (*action)->model_type->common_public.action_cancel(*action);
- free(*action);
- *action = NULL;
-}
-
-void surf_action_change_state(surf_action_t action,
- e_surf_action_state_t state)
-{
- surf_action_state_t action_state =
- &(action->model_type->common_public.states);
- XBT_IN2("(%p,%s)", action, surf_action_state_names[state]);
- xbt_swag_remove(action, action->state_set);
-
- if (state == SURF_ACTION_READY)
- action->state_set = action_state->ready_action_set;
- else if (state == SURF_ACTION_RUNNING)
- action->state_set = action_state->running_action_set;
- else if (state == SURF_ACTION_FAILED)
- action->state_set = action_state->failed_action_set;
- else if (state == SURF_ACTION_DONE)
- action->state_set = action_state->done_action_set;
- else
- action->state_set = NULL;
-
- if (action->state_set)
- xbt_swag_insert(action, action->state_set);
- XBT_OUT;
-}
-
-void surf_action_set_data(surf_action_t action, void *data)
-{
- action->data = data;
-}
XBT_LOG_EXTERNAL_CATEGORY(surf_cpu);
XBT_LOG_EXTERNAL_CATEGORY(surf_kernel);
XBT_LOG_EXTERNAL_CATEGORY(surf_lagrange_dichotomy);
XBT_LOG_EXTERNAL_CATEGORY(surf_maxmin);
XBT_LOG_EXTERNAL_CATEGORY(surf_network);
+XBT_LOG_EXTERNAL_CATEGORY(surf_trace);
XBT_LOG_EXTERNAL_CATEGORY(surf_parse);
XBT_LOG_EXTERNAL_CATEGORY(surf_timer);
XBT_LOG_EXTERNAL_CATEGORY(surf_workstation);
XBT_LOG_CONNECT(surf_lagrange_dichotomy, surf_lagrange);
XBT_LOG_CONNECT(surf_maxmin, surf);
XBT_LOG_CONNECT(surf_network, surf);
+ XBT_LOG_CONNECT(surf_trace, surf);
XBT_LOG_CONNECT(surf_parse, surf);
XBT_LOG_CONNECT(surf_timer, surf);
XBT_LOG_CONNECT(surf_workstation, surf);
if (!history)
history = tmgr_history_new();
- surf_config_init(argc,argv);
+ surf_config_init(argc, argv);
}
static char *path_name = NULL;
surf_config_finalize();
xbt_dynar_foreach(model_list, iter, model) {
- model->common_private->finalize();
+ model->model_private->finalize();
}
if (maxmin_system) {
while ((event =
tmgr_history_get_next_event_leq(history, next_event_date,
&value, (void **) &resource))) {
- resource->model->common_private->update_resource_state(resource,
- event, value,
- NOW);
+ resource->model->model_private->update_resource_state(resource,
+ event, value,
+ NOW);
}
}
xbt_dynar_foreach(model_list, iter, model) {
- model->common_private->update_actions_state(NOW, 0.0);
+ model->model_private->update_actions_state(NOW, 0.0);
}
}
DEBUG0("Looking for next action end");
xbt_dynar_foreach(model_list, iter, model) {
- DEBUG1("Running for Resource [%s]", model->common_public.name);
- model_next_action_end = model->common_private->share_resources(NOW);
+ DEBUG1("Running for Resource [%s]", model->name);
+ model_next_action_end = model->model_private->share_resources(NOW);
DEBUG2("Resource [%s] : next action end = %f",
- model->common_public.name, model_next_action_end);
+ model->name, model_next_action_end);
if (((min < 0.0) || (model_next_action_end < min))
&& (model_next_action_end >= 0.0))
min = model_next_action_end;
while ((event =
tmgr_history_get_next_event_leq(history, next_event_date,
&value, (void **) &resource))) {
- if (resource->model->common_private->resource_used(resource)) {
+ if (resource->model->model_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 */
- resource->model->common_private->update_resource_state(resource,
- event, value,
- NOW + min);
+ resource->model->model_private->update_resource_state(resource,
+ event, value,
+ NOW + min);
}
}
NOW = NOW + min;
xbt_dynar_foreach(model_list, iter, model) {
- model->common_private->update_actions_state(NOW, min);
+ model->model_private->update_actions_state(NOW, min);
}
return min;