Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MASSIVE cleanup: s/workstation/host/
[simgrid.git] / src / surf / surf_routing.cpp
index 48cadde..de408ff 100644 (file)
 
 /**
  * @ingroup SURF_build_api
- * @brief A library containing all known workstations
+ * @brief A library containing all known hosts
  */
 xbt_lib_t host_lib;
 
 int ROUTING_HOST_LEVEL;         //Routing level
 int SURF_CPU_LEVEL;             //Surf cpu level
-int SURF_WKS_LEVEL;             //Surf workstation level
+int SURF_HOST_LEVEL;            //Surf host level
 int SIMIX_HOST_LEVEL;           //Simix host level
 int SIMIX_STORAGE_LEVEL;        //Simix storage level
 int MSG_HOST_LEVEL;             //Msg host level
@@ -55,7 +55,7 @@ static xbt_dict_t random_value = NULL;
 
 /** @brief Retrieve a routing edge from its name
  *
- * Routing edges are either CPU/workstation and routers, whatever
+ * Routing edges are either host and routers, whatever
  */
 RoutingEdgePtr sg_routing_edge_by_name_or_null(const char *name) {
   RoutingEdgePtr net_elm = (RoutingEdgePtr) xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL);
@@ -894,6 +894,15 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
 
       memset(&host, 0, sizeof(host));
       host.id = host_id;
+      if ((cluster->properties != NULL) && (!xbt_dict_is_empty(cluster->properties))) {
+         xbt_dict_cursor_t cursor=NULL;
+         char *key,*data;
+         host.properties = xbt_dict_new();
+
+         xbt_dict_foreach(cluster->properties,cursor,key,data) {
+                 xbt_dict_set(host.properties, key, xbt_strdup(data),free);
+         }
+      }
       if (cluster->availability_trace && strcmp(cluster->availability_trace, "")) {
         xbt_dict_set(patterns, "radical", bprintf("%d", i), NULL);
         char *avail_file = xbt_str_varsubst(cluster->availability_trace, patterns);
@@ -1298,9 +1307,7 @@ void routing_register_callbacks()
   sg_platf_trace_add_cb(routing_parse_trace);
   sg_platf_trace_connect_add_cb(routing_parse_trace_connect);
 
-#ifdef HAVE_TRACING
   instr_routing_define_callbacks();
-#endif
 }
 
 /**
@@ -1396,4 +1403,3 @@ xbt_dynar_t surf_AS_get_hosts(AsPtr as) {
 void surf_AS_get_graph(AS_t as, xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) {
   as->getGraph(graph, nodes, edges);
 }
-