Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Further untangle trace:connect. make trace_connect_list_host_avail private
[simgrid.git] / src / surf / surf_routing.cpp
index b9a584f..033bcf4 100644 (file)
@@ -13,7 +13,7 @@
 #include "simgrid/platf_interface.h"    // platform creation API internal interface
 #include "simgrid/sg_config.h"
 #include "storage_interface.hpp"
-
+#include "src/surf/platform.hpp"
 #include "surf/surfxml_parse_values.h"
 
 /*************
@@ -41,7 +41,6 @@ int MSG_FILE_LEVEL;             //Msg file level
 
 int SIMIX_STORAGE_LEVEL;        //Simix storage level
 int MSG_STORAGE_LEVEL;          //Msg storage level
-int SD_STORAGE_LEVEL;           //Simdag storage level
 
 xbt_lib_t as_router_lib;
 int ROUTING_ASR_LEVEL;          //Routing level
@@ -206,55 +205,14 @@ void sg_platf_new_trace(sg_platf_trace_cbarg_t trace)
   tmgr_trace_t tmgr_trace;
   if (!trace->file || strcmp(trace->file, "") != 0) {
     tmgr_trace = tmgr_trace_new_from_file(trace->file);
-  } else if (strcmp(trace->pc_data, "") == 0) {
-    tmgr_trace = NULL;
   } else {
-    tmgr_trace =
-          tmgr_trace_new_from_string(trace->id, trace->pc_data,
-                                     trace->periodicity);
+    xbt_assert(strcmp(trace->pc_data, ""),
+        "Trace '%s' must have either a content, or point to a file on disk.",trace->id);
+    tmgr_trace = tmgr_trace_new_from_string(trace->id, trace->pc_data, trace->periodicity);
   }
   xbt_dict_set(traces_set_list, trace->id, (void *) tmgr_trace, NULL);
 }
 
-void sg_platf_trace_connect(sg_platf_trace_connect_cbarg_t trace_connect)
-{
-  xbt_assert(xbt_dict_get_or_null
-              (traces_set_list, trace_connect->trace),
-              "Cannot connect trace %s to %s: trace unknown",
-              trace_connect->trace,
-              trace_connect->element);
-
-  switch (trace_connect->kind) {
-  case SURF_TRACE_CONNECT_KIND_HOST_AVAIL:
-    xbt_dict_set(trace_connect_list_host_avail,
-        trace_connect->trace,
-        xbt_strdup(trace_connect->element), NULL);
-    break;
-  case SURF_TRACE_CONNECT_KIND_POWER:
-    xbt_dict_set(trace_connect_list_power, trace_connect->trace,
-        xbt_strdup(trace_connect->element), NULL);
-    break;
-  case SURF_TRACE_CONNECT_KIND_LINK_AVAIL:
-    xbt_dict_set(trace_connect_list_link_avail,
-        trace_connect->trace,
-        xbt_strdup(trace_connect->element), NULL);
-    break;
-  case SURF_TRACE_CONNECT_KIND_BANDWIDTH:
-    xbt_dict_set(trace_connect_list_bandwidth,
-        trace_connect->trace,
-        xbt_strdup(trace_connect->element), NULL);
-    break;
-  case SURF_TRACE_CONNECT_KIND_LATENCY:
-    xbt_dict_set(trace_connect_list_latency, trace_connect->trace,
-        xbt_strdup(trace_connect->element), NULL);
-    break;
-  default:
-       surf_parse_error("Cannot connect trace %s to %s: kind of trace unknown",
-        trace_connect->trace, trace_connect->element);
-    break;
-  }
-}
-
 /**
  * \brief Make a new routing component to the platform
  *
@@ -545,7 +503,7 @@ namespace surf {
  */
 void RoutingPlatf::getRouteAndLatency(NetCard *src, NetCard *dst, xbt_dynar_t* route, double *latency)
 {
-  XBT_DEBUG("routing_get_route_and_latency from %s to %s", src->getName(), dst->getName());
+  XBT_DEBUG("getRouteAndLatency from %s to %s", src->getName(), dst->getName());
   if (NULL == *route) {
     xbt_dynar_reset(routing_platf->p_lastRoute);
     *route = routing_platf->p_lastRoute;
@@ -1226,8 +1184,8 @@ static void check_disk_attachment()
 
 void routing_register_callbacks()
 {
-  sg_platf_postparse_add_cb(routing_parse_postparse);
-  sg_platf_postparse_add_cb(check_disk_attachment);
+  simgrid::surf::on_postparse.connect(routing_parse_postparse);
+  simgrid::surf::on_postparse.connect(check_disk_attachment);
 
   instr_routing_define_callbacks();
 }