typedef struct workstation_CLM03 {
s_surf_resource_t generic_resource; /* Must remain first to add this to a trace */
void *cpu;
- int id;
} s_workstation_CLM03_t, *workstation_CLM03_t;
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_workstation, surf,
surf_model_t surf_workstation_model = NULL;
static workstation_CLM03_t workstation_new(const char *name,
- void *cpu, int id)
+ void *cpu)
{
workstation_CLM03_t workstation = xbt_new0(s_workstation_CLM03_t, 1);
workstation->generic_resource.model = surf_workstation_model;
workstation->generic_resource.name = xbt_strdup(name);
workstation->cpu = cpu;
- workstation->id = id;
xbt_dict_set(surf_model_resource_set(surf_workstation_model), name,
workstation, surf_resource_free);
void *cpu = NULL;
xbt_dict_foreach(surf_model_resource_set(surf_cpu_model), cursor, name, cpu) {
- int *id = NULL;
-// COMMENTED BY DAVID
-// if (used_routing && used_routing->host_id)
-// id = xbt_dict_get_or_null(used_routing->host_id,name);
-
- workstation_new(name, cpu, id ? *id : 0);
+ workstation_new(name, cpu);
}
}
DIE_IMPOSSIBLE;
}
+#ifdef HAVE_LATENCY_BOUND_TRACKING
static int ws_get_latency_limited(surf_action_t action)
{
if (action->model_type == surf_network_model)
INFO0("You tried to ask if a non network action is limited by latency, aborting...");
DIE_IMPOSSIBLE;
}
+#endif
static double ws_action_get_remains(surf_action_t action)
{
workstation_CLM03_t dst = (workstation_CLM03_t) workstation_dst;
return surf_network_model->extension.network.
communicate(surf_resource_name(src->cpu), surf_resource_name(dst->cpu),
- src->id, dst->id, size, rate);
+ size, rate);
}
static e_surf_resource_state_t ws_get_state(void *workstation)
/* returns an array of network_link_CM02_t */
static xbt_dynar_t ws_get_route(void *src, void *dst)
{
- workstation_CLM03_t workstation_src = (workstation_CLM03_t) src;
- workstation_CLM03_t workstation_dst = (workstation_CLM03_t) dst;
- return surf_network_model->extension.network.get_route(workstation_src->id,
- workstation_dst->id);
+ return surf_network_model->extension.network.get_route(surf_resource_name(src),
+ surf_resource_name(src));
}
static double ws_get_link_bandwidth(const void *link)
surf_workstation_model->set_max_duration = ws_action_set_max_duration;
surf_workstation_model->set_priority = ws_action_set_priority;
surf_workstation_model->get_remains = ws_action_get_remains;
+#ifdef HAVE_LATENCY_BOUND_TRACKING
surf_workstation_model->get_latency_limited = ws_get_latency_limited;
+#endif
surf_workstation_model->extension.workstation.execute = ws_execute;
surf_workstation_model->extension.workstation.sleep = ws_action_sleep;