Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[surf] Remove sg_cabinet_cb
[simgrid.git] / src / surf / surf_routing.cpp
index bea4474..9e7f208 100644 (file)
@@ -21,6 +21,7 @@
  *************/
 
 surf_callback(void, RoutingEdge*) routingEdgeCreatedCallbacks;
+surf_callback(void, As*) asCreatedCallbacks;
 
 /**
  * @ingroup SURF_build_api
@@ -74,7 +75,6 @@ As* routing_get_current()
   return current_routing;
 }
 
-static void routing_parse_peer(sg_platf_peer_cbarg_t peer);     /* peer bypass */
 // static void routing_parse_Srandom(void);        /* random bypass */
 
 static void routing_parse_postparse(void);
@@ -121,7 +121,7 @@ struct s_model_type routing_models[] = {
 /**
  * \brief Add a "host_link" to the network element list
  */
-static void parse_S_host(sg_platf_host_link_cbarg_t host)
+void sg_platf_new_host_link(sg_platf_host_link_cbarg_t host)
 {
   RoutingEdge *info = sg_host_edge(sg_host_by_name(host->id));
   xbt_assert(info, "Host '%s' not found!", host->id);
@@ -194,18 +194,6 @@ RoutingEdge *routing_add_host(As* current_routing, sg_platf_host_cbarg_t host)
   return routingEdge;
 }
 
-/**
- * \brief Store the route by calling the set_route function of the current routing component
- */
-static void parse_E_route(sg_platf_route_cbarg_t route)
-{
-  /*FIXME:REMOVE:xbt_assert(current_routing->parse_route,
-             "no defined method \"set_route\" in \"%s\"",
-             current_routing->name);*/
-
-  current_routing->parseRoute(route);
-}
-
 /**
  * \brief Store the ASroute by calling the set_ASroute function of the current routing component
  */
@@ -375,11 +363,12 @@ void routing_AS_begin(sg_platf_AS_cbarg_t AS)
               (void *) info);
   XBT_DEBUG("Having set name '%s' id '%d'", new_as->p_name, info->getId());
 
-  routingEdgeCreatedCallbacks(info);
-
   /* set the new current component of the tree */
   current_routing = new_as;
   current_routing->p_netElem = info;
+
+  routingEdgeCreatedCallbacks(info);
+  asCreatedCallbacks(new_as);
 }
 
 /**
@@ -393,7 +382,7 @@ void routing_AS_begin(sg_platf_AS_cbarg_t AS)
  * even if you add stuff to a closed AS
  *
  */
-void routing_AS_end(sg_platf_AS_cbarg_t /*AS*/)
+void routing_AS_end()
 {
 
   if (current_routing == NULL) {
@@ -698,7 +687,7 @@ void routing_cluster_add_backbone(void* bb) {
   XBT_DEBUG("Add a backbone to AS '%s'", current_routing->p_name);
 }
 
-static void routing_parse_cabinet(sg_platf_cabinet_cbarg_t cabinet)
+void sg_platf_new_cabinet(sg_platf_cabinet_cbarg_t cabinet)
 {
   int start, end, i;
   char *groups , *host_id , *link_id = NULL;
@@ -1027,7 +1016,7 @@ static void routing_parse_postparse(void) {
   xbt_dict_free(&random_value);
 }
 
-static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
+void sg_platf_new_peer(sg_platf_peer_cbarg_t peer)
 {
   char *host_id = NULL;
   char *link_id = NULL;
@@ -1249,23 +1238,15 @@ static void check_disk_attachment()
 
 void routing_register_callbacks()
 {
-  sg_platf_host_link_add_cb(parse_S_host);
-  sg_platf_route_add_cb(parse_E_route);
   sg_platf_ASroute_add_cb(parse_E_ASroute);
   sg_platf_bypassRoute_add_cb(parse_E_bypassRoute);
   sg_platf_bypassASroute_add_cb(parse_E_bypassASroute);
 
   sg_platf_cluster_add_cb(routing_parse_cluster);
-  sg_platf_cabinet_add_cb(routing_parse_cabinet);
 
-  sg_platf_peer_add_cb(routing_parse_peer);
   sg_platf_postparse_add_cb(routing_parse_postparse);
   sg_platf_postparse_add_cb(check_disk_attachment);
 
-  /* we care about the ASes while parsing the platf. Incredible, isnt it? */
-  sg_platf_AS_end_add_cb(routing_AS_end);
-  sg_platf_AS_begin_add_cb(routing_AS_begin);
-
   sg_platf_trace_add_cb(routing_parse_trace);
   sg_platf_trace_connect_add_cb(routing_parse_trace_connect);