Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
populate the routing_none_finalize to make sure that we always call these functions
[simgrid.git] / src / surf / surf_routing_full.c
index 5457e71..74e7c26 100644 (file)
@@ -8,8 +8,6 @@
 
 /* Global vars */
 extern routing_global_t global_routing;
-extern routing_component_t current_routing;
-extern model_type_t current_routing_model;
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_full, surf, "Routing part of surf");
 
@@ -18,12 +16,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_full, surf, "Routing part of surf");
 /* Routing model structure */
 
 typedef struct s_routing_component_full {
-  s_routing_component_t generic_routing;
+  s_as_t generic_routing;
   route_extended_t *routing_table;
 } s_routing_component_full_t, *routing_component_full_t;
 
 /* Business methods */
-static xbt_dynar_t full_get_onelink_routes(routing_component_t rc)
+static xbt_dynar_t full_get_onelink_routes(AS_t rc)
 {
   xbt_dynar_t ret = xbt_dynar_new(sizeof(onelink_t), xbt_free);
 
@@ -63,7 +61,7 @@ static xbt_dynar_t full_get_onelink_routes(routing_component_t rc)
   return ret;
 }
 
-static route_extended_t full_get_route(routing_component_t rc,
+static route_extended_t full_get_route(AS_t rc,
                                        const char *src, const char *dst)
 {
   xbt_assert(rc && src
@@ -102,7 +100,7 @@ static route_extended_t full_get_route(routing_component_t rc,
   return new_e_route;
 }
 
-static void full_finalize(routing_component_t rc)
+static void full_finalize(AS_t rc)
 {
   routing_component_full_t routing = (routing_component_full_t) rc;
   size_t table_size = xbt_dict_length(routing->generic_routing.to_index);
@@ -124,22 +122,22 @@ static void full_finalize(routing_component_t rc)
 
 /* Creation routing model functions */
 
-routing_component_t model_full_create(void)
+AS_t model_full_create(void)
 {
   routing_component_full_t new_component = (routing_component_full_t)
-      routmod_generic_create(sizeof(s_routing_component_full_t));
+      model_generic_create_sized(sizeof(s_routing_component_full_t));
 
-  new_component->generic_routing.set_route = model_full_set_route;
-  new_component->generic_routing.set_ASroute = model_full_set_route;
+  new_component->generic_routing.parse_route = model_full_set_route;
+  new_component->generic_routing.parse_ASroute = model_full_set_route;
   new_component->generic_routing.get_route = full_get_route;
   new_component->generic_routing.get_onelink_routes =
       full_get_onelink_routes;
   new_component->generic_routing.finalize = full_finalize;
 
-  return (routing_component_t) new_component;
+  return (AS_t) new_component;
 }
 
-void model_full_end(void)
+void model_full_end(AS_t current_routing)
 {
   unsigned int i;
   route_extended_t e_route;
@@ -175,8 +173,8 @@ static int surf_pointer_resource_cmp(const void *a, const void *b) {
   return a != b;
 }
 
-void model_full_set_route(routing_component_t rc, const char *src,
-               const char *dst, name_route_extended_t route)
+void model_full_set_route(AS_t rc, const char *src,
+               const char *dst, route_extended_t route)
 {
        int *src_id, *dst_id;
        src_id = xbt_dict_get_or_null(rc->to_index, src);
@@ -218,9 +216,9 @@ void model_full_set_route(routing_component_t rc, const char *src,
                  else{
                          XBT_DEBUG("Load ASroute from \"%s(%s)\" to \"%s(%s)\"", src,
                                 route->src_gateway, dst, route->dst_gateway);
-                         if(global_routing->get_network_element_type((const char*)route->dst_gateway) == SURF_NETWORK_ELEMENT_NULL)
+                         if(routing_get_network_element_type((const char*)route->dst_gateway) == SURF_NETWORK_ELEMENT_NULL)
                                  xbt_die("The dst_gateway '%s' does not exist!",route->dst_gateway);
-                         if(global_routing->get_network_element_type((const char*)route->src_gateway) == SURF_NETWORK_ELEMENT_NULL)
+                         if(routing_get_network_element_type((const char*)route->src_gateway) == SURF_NETWORK_ELEMENT_NULL)
                                  xbt_die("The src_gateway '%s' does not exist!",route->src_gateway);
                  }
              TO_ROUTE_FULL(*src_id, *dst_id) = generic_new_extended_route(rc->hierarchy,route,1);