Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[DOC] Fixed even more errors.
[simgrid.git] / src / surf / instr_routing.cpp
index d737c33..9f992f3 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "src/surf/surf_private.h"
 #include "xbt/graph.h"
+#include "src/surf/platform.hpp"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_routing, instr, "Tracing platform hierarchy");
 
@@ -165,7 +166,7 @@ static void recursiveGraphExtraction (AS_t rc, container_t container, xbt_dict_t
 /*
  * Callbacks
  */
-static void instr_routing_parse_start_AS (sg_platf_AS_cbarg_t AS)
+void sg_instr_AS_begin(sg_platf_AS_cbarg_t AS)
 {
   const char*id = AS->id;
 
@@ -200,7 +201,7 @@ static void instr_routing_parse_start_AS (sg_platf_AS_cbarg_t AS)
   }
 }
 
-static void instr_routing_parse_end_AS (sg_platf_AS_cbarg_t)
+void sg_instr_AS_end()
 {
   if (TRACE_needs_platform()){
     xbt_dynar_pop_ptr (currentContainer);
@@ -255,24 +256,24 @@ static void instr_routing_parse_start_link (sg_platf_link_cbarg_t link)
   xbt_dynar_free (&links_to_create);
 }
 
-static void instr_routing_parse_start_host (sg_platf_host_cbarg_t host)
+void sg_instr_new_host(sg_platf_host_cbarg_t host)
 {
   container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
   container_t container = PJ_container_new (host->id, INSTR_HOST, father);
 
-  if ((TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) && (! TRACE_disable_power())) {
-    type_t power = PJ_type_get_or_null ("power", container->type);
-    if (power == NULL){
-      power = PJ_type_variable_new ("power", NULL, container->type);
+  if ((TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) && (! TRACE_disable_speed())) {
+    type_t speed = PJ_type_get_or_null ("power", container->type);
+    if (speed == NULL){
+      speed = PJ_type_variable_new ("power", NULL, container->type);
     }
 
-    double current_power_state;
-    xbt_dynar_get_cpy(host->power_peak, host->pstate, &current_power_state);
-    new_pajeSetVariable (0, container, power, current_power_state);
+    double current_speed_state;
+    xbt_dynar_get_cpy(host->speed_peak, host->pstate, &current_speed_state);
+    new_pajeSetVariable (0, container, speed, current_speed_state);
   }
   if (TRACE_uncategorized()){
-    type_t power_used = PJ_type_get_or_null ("power_used", container->type);
-    if (power_used == NULL){
+    type_t speed_used = PJ_type_get_or_null ("power_used", container->type);
+    if (speed_used == NULL){
       PJ_type_variable_new ("power_used", "0.5 0.5 0.5", container->type);
     }
   }
@@ -318,7 +319,7 @@ static void instr_routing_parse_start_host (sg_platf_host_cbarg_t host)
 
 }
 
-static void instr_routing_parse_start_router (sg_platf_router_cbarg_t router)
+void sg_instr_new_router(sg_platf_router_cbarg_t router)
 {
   container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
   PJ_container_new (router->id, INSTR_ROUTER, father);
@@ -342,14 +343,9 @@ void instr_routing_define_callbacks ()
   if (!TRACE_is_enabled()) return;
   //always need the call backs to ASes (we need only the root AS),
   //to create the rootContainer and the rootType properly
-  sg_platf_AS_begin_add_cb(instr_routing_parse_start_AS);
-  sg_platf_AS_end_add_cb(instr_routing_parse_end_AS);
   if (!TRACE_needs_platform()) return;
-  sg_platf_link_add_cb(instr_routing_parse_start_link);
-  sg_platf_host_add_cb(instr_routing_parse_start_host);
-  sg_platf_router_add_cb(instr_routing_parse_start_router);
-
-  sg_platf_postparse_add_cb(instr_routing_parse_end_platform);
+  simgrid::surf::on_link.connect(instr_routing_parse_start_link);
+  simgrid::surf::on_postparse.connect(instr_routing_parse_end_platform);
 }
 
 /*