Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The mallocators of dict and fifo are created in pre-init, ie before we know whether...
[simgrid.git] / src / surf / surf_routing.c
index 84a21f6..fef83e4 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (c) 2009 The SimGrid team. All rights reserved.                */
+/* Copyright (c) 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -87,6 +88,9 @@ static void routing_full_parse_Shost(void) {
   DEBUG2("Seen host %s (#%d)",A_surfxml_host_id,used_routing->host_count);
   *val = used_routing->host_count++;
   xbt_dict_set(used_routing->host_id,A_surfxml_host_id,val,xbt_free);
+#ifdef HAVE_TRACING
+  TRACE_surf_host_define_id (A_surfxml_host_id, *val);
+#endif
 }
 
 static void routing_full_parse_Srouter(void) {
@@ -95,6 +99,10 @@ static void routing_full_parse_Srouter(void) {
                HOST2ROUTER(used_routing->router_count));
   *val = HOST2ROUTER(used_routing->router_count++);
   xbt_dict_set(used_routing->host_id,A_surfxml_router_id,val,xbt_free);
+#ifdef HAVE_TRACING
+  TRACE_surf_host_define_id (A_surfxml_host_id, *val);
+  TRACE_surf_host_declaration (A_surfxml_host_id, 0);
+#endif
 }
 
 static int src_id = -1;
@@ -310,6 +318,9 @@ static void routing_full_parse_end(void) {
       new_link->link_ptr = xbt_dict_get_or_null(surf_network_model->resource_set, link_name);
       DEBUG3("Adding onelink route from (#%d) to (#%d), link_name %s",src_id, dst_id, link_name);
       xbt_dict_set(onelink_routes, link_name, (void *)new_link, onelink_route_elem_free);
+#ifdef HAVE_TRACING
+      TRACE_surf_link_save_endpoints (link_name, src_id, dst_id);
+#endif
     }
 
     if(ISROUTER(src_id) || ISROUTER(dst_id)) {
@@ -366,6 +377,7 @@ static void routing_full_finalize(void) {
         xbt_dynar_free(&ROUTE_FULL(i, j));
     free(routing->routing_table);
     xbt_dict_free(&used_routing->host_id);
+    xbt_dict_free(&onelink_routes);
     free(routing);
     routing=NULL;
   }