Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not duplicate host name uselessly.
[simgrid.git] / src / surf / workstation_ptask_L07.c
index f5544c0..772221a 100644 (file)
@@ -622,18 +622,18 @@ static cpu_L07_t ptask_cpu_new(const char *name, double power_scale,
                                xbt_dict_t cpu_properties)
 {
   cpu_L07_t cpu = xbt_new0(s_cpu_L07_t, 1);
-  xbt_assert1(!surf_model_resource_by_name(surf_workstation_model, name),
+  xbt_assert(!surf_workstation_resource_by_name(name),
               "Host '%s' declared several times in the platform file.",
               name);
 
   cpu->generic_resource.model = surf_workstation_model;
   cpu->type = SURF_WORKSTATION_RESOURCE_CPU;
   cpu->generic_resource.name = xbt_strdup(name);
-  cpu->generic_resource.properties = current_property_set;
+  cpu->generic_resource.properties = cpu_properties;
   cpu->id = ptask_host_count++;
 
   cpu->power_scale = power_scale;
-  xbt_assert0(cpu->power_scale > 0, "Power has to be >0");
+  xbt_assert(cpu->power_scale > 0, "Power has to be >0");
 
   cpu->power_current = power_initial;
   if (power_trace)
@@ -649,8 +649,7 @@ static cpu_L07_t ptask_cpu_new(const char *name, double power_scale,
       lmm_constraint_new(ptask_maxmin_system, cpu,
                          cpu->power_current * cpu->power_scale);
 
-  xbt_dict_set(surf_model_resource_set(surf_workstation_model), name, cpu,
-               surf_resource_free);
+  xbt_lib_set(host_lib, name, SURF_WKS_LEVEL, cpu);
 
   return cpu;
 }
@@ -667,7 +666,7 @@ static void ptask_parse_cpu_init(void)
   surf_parse_get_double(&power_initial, A_surfxml_host_availability);
   power_trace = tmgr_trace_new(A_surfxml_host_availability_file);
 
-  xbt_assert0((A_surfxml_host_state == A_surfxml_host_state_ON) ||
+  xbt_assert((A_surfxml_host_state == A_surfxml_host_state_ON) ||
               (A_surfxml_host_state == A_surfxml_host_state_OFF),
               "Invalid state");
   if (A_surfxml_host_state == A_surfxml_host_state_ON)
@@ -676,9 +675,9 @@ static void ptask_parse_cpu_init(void)
     state_initial = SURF_RESOURCE_OFF;
   state_trace = tmgr_trace_new(A_surfxml_host_state_file);
 
-  current_property_set = xbt_dict_new();
   ptask_cpu_new(A_surfxml_host_id, power_scale, power_initial, power_trace,
                 state_initial, state_trace, current_property_set);
+  current_property_set=NULL;
 }
 
 static void ptask_cpu_create_resource(char *name, double power_peak,
@@ -705,8 +704,7 @@ static link_L07_t ptask_link_new(char *name,
                                  policy, xbt_dict_t properties)
 {
   link_L07_t nw_link = xbt_new0(s_link_L07_t, 1);
-  xbt_assert1(!xbt_dict_get_or_null
-              (surf_network_model->resource_set, name),
+  xbt_assert(!xbt_lib_get_or_null(link_lib, name, SURF_LINK_LEVEL),
               "Link '%s' declared several times in the platform file.",
               name);
 
@@ -734,10 +732,7 @@ static link_L07_t ptask_link_new(char *name,
   if (policy == SURF_LINK_FATPIPE)
     lmm_constraint_shared(nw_link->constraint);
 
-  xbt_dict_set(surf_network_model->resource_set, name, nw_link,
-               surf_resource_free);
-
-
+  xbt_lib_set(link_lib, name, SURF_LINK_LEVEL, nw_link);
   return nw_link;
 }
 
@@ -766,7 +761,7 @@ static void ptask_parse_link_init(void)
   surf_parse_get_double(&lat_initial, A_surfxml_link_latency);
   lat_trace = tmgr_trace_new(A_surfxml_link_latency_file);
 
-  xbt_assert0((A_surfxml_link_state == A_surfxml_link_state_ON)
+  xbt_assert((A_surfxml_link_state == A_surfxml_link_state_ON)
               || (A_surfxml_link_state ==
                   A_surfxml_link_state_OFF), "Invalid state");
   if (A_surfxml_link_state == A_surfxml_link_state_ON)
@@ -783,8 +778,6 @@ static void ptask_parse_link_init(void)
 
   state_trace = tmgr_trace_new(A_surfxml_link_state_file);
 
-  current_property_set = xbt_dict_new();
-
   if(policy_initial_link == SURF_LINK_FULLDUPLEX)
   {
          ptask_link_new(name_link_up, bw_initial, bw_trace, lat_initial, lat_trace,
@@ -792,7 +785,7 @@ static void ptask_parse_link_init(void)
                         current_property_set);
          ptask_link_new(name_link_down, bw_initial, bw_trace, lat_initial, lat_trace,
                         state_initial_link, state_trace, policy_initial_link,
-                        xbt_dict_new());
+                        current_property_set);
   }
   else
   {
@@ -800,6 +793,7 @@ static void ptask_parse_link_init(void)
                                         state_initial_link, state_trace, policy_initial_link,
                                         current_property_set);
   }
+  current_property_set = NULL;
 }
 
 static void ptask_link_create_resource(char *name,
@@ -813,10 +807,9 @@ static void ptask_link_create_resource(char *name,
                                        e_surf_link_sharing_policy_t
                                        policy, xbt_dict_t properties)
 {
-
   ptask_link_new(name, bw_initial, bw_trace,
                  lat_initial, lat_trace, state_initial, state_trace,
-                 policy, xbt_dict_new());
+                 policy, properties);
 }
 
 
@@ -831,11 +824,10 @@ static void ptask_add_traces(void)
   /* Connect traces relative to cpu */
   xbt_dict_foreach(trace_connect_list_host_avail, cursor, trace_name, elm) {
     tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name);
-    cpu_L07_t host =
-        surf_model_resource_by_name(surf_workstation_model, elm);
+    cpu_L07_t host = surf_workstation_resource_by_name(elm);
 
-    xbt_assert1(host, "Host %s undefined", elm);
-    xbt_assert1(trace, "Trace %s undefined", trace_name);
+    xbt_assert(host, "Host %s undefined", elm);
+    xbt_assert(trace, "Trace %s undefined", trace_name);
 
     host->state_event =
         tmgr_history_add_trace(history, trace, 0.0, 0, host);
@@ -843,11 +835,10 @@ static void ptask_add_traces(void)
 
   xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) {
     tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name);
-    cpu_L07_t host =
-        surf_model_resource_by_name(surf_workstation_model, elm);
+    cpu_L07_t host = surf_workstation_resource_by_name(elm);
 
-    xbt_assert1(host, "Host %s undefined", elm);
-    xbt_assert1(trace, "Trace %s undefined", trace_name);
+    xbt_assert(host, "Host %s undefined", elm);
+    xbt_assert(trace, "Trace %s undefined", trace_name);
 
     host->power_event =
         tmgr_history_add_trace(history, trace, 0.0, 0, host);
@@ -857,10 +848,10 @@ static void ptask_add_traces(void)
   xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
     tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name);
     link_L07_t link =
-        xbt_dict_get_or_null(surf_network_model->resource_set, elm);
+               xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL);
 
-    xbt_assert1(link, "Link %s undefined", elm);
-    xbt_assert1(trace, "Trace %s undefined", trace_name);
+    xbt_assert(link, "Link %s undefined", elm);
+    xbt_assert(trace, "Trace %s undefined", trace_name);
 
     link->state_event =
         tmgr_history_add_trace(history, trace, 0.0, 0, link);
@@ -869,10 +860,10 @@ static void ptask_add_traces(void)
   xbt_dict_foreach(trace_connect_list_bandwidth, cursor, trace_name, elm) {
     tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name);
     link_L07_t link =
-        xbt_dict_get_or_null(surf_network_model->resource_set, elm);
+               xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL);
 
-    xbt_assert1(link, "Link %s undefined", elm);
-    xbt_assert1(trace, "Trace %s undefined", trace_name);
+    xbt_assert(link, "Link %s undefined", elm);
+    xbt_assert(trace, "Trace %s undefined", trace_name);
 
     link->bw_event = tmgr_history_add_trace(history, trace, 0.0, 0, link);
   }
@@ -880,10 +871,10 @@ static void ptask_add_traces(void)
   xbt_dict_foreach(trace_connect_list_latency, cursor, trace_name, elm) {
     tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name);
     link_L07_t link =
-        xbt_dict_get_or_null(surf_network_model->resource_set, elm);
+               xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL);
 
-    xbt_assert1(link, "Link %s undefined", elm);
-    xbt_assert1(trace, "Trace %s undefined", trace_name);
+    xbt_assert(link, "Link %s undefined", elm);
+    xbt_assert(trace, "Trace %s undefined", trace_name);
 
     link->lat_event = tmgr_history_add_trace(history, trace, 0.0, 0, link);
   }
@@ -892,8 +883,8 @@ static void ptask_add_traces(void)
 static void ptask_define_callbacks(const char *file)
 {
   /* Adding callback functions */
-  surfxml_add_callback(STag_surfxml_host_cb_list, &ptask_parse_cpu_init);
-  surfxml_add_callback(STag_surfxml_link_cb_list, &ptask_parse_link_init);
+  surfxml_add_callback(ETag_surfxml_host_cb_list, &ptask_parse_cpu_init);
+  surfxml_add_callback(ETag_surfxml_link_cb_list, &ptask_parse_link_init);
   surfxml_add_callback(ETag_surfxml_platform_cb_list, &ptask_add_traces);
 }
 
@@ -974,8 +965,8 @@ static void ptask_model_init_internal(void)
 void surf_workstation_model_init_ptask_L07(const char *filename)
 {
   XBT_INFO("surf_workstation_model_init_ptask_L07");
-  xbt_assert0(!surf_cpu_model, "CPU model type already defined");
-  xbt_assert0(!surf_network_model, "network model type already defined");
+  xbt_assert(!surf_cpu_model, "CPU model type already defined");
+  xbt_assert(!surf_network_model, "network model type already defined");
   surf_network_model = surf_model_init();
   ptask_define_callbacks(filename);
   ptask_model_init_internal();