Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
merge get_route and get_latency in routings too
[simgrid.git] / src / surf / surf_routing_none.c
index a48d9ae..85776de 100644 (file)
@@ -8,38 +8,27 @@
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_none, surf, "Routing part of surf");
 
-/* Routing model structure */
-/* Business methods */
-static xbt_dynar_t none_get_onelink_routes(AS_t rc)
-{
+static xbt_dynar_t none_get_onelink_routes(AS_t rc) {
   return NULL;
 }
 
-static route_extended_t none_get_route(AS_t rc,
-                                       const char *src, const char *dst)
+static void none_get_route_and_latency(AS_t rc, const char *src, const char *dst,
+                                       route_t res,double *lat)
 {
-  return NULL;
 }
 
-static route_extended_t none_get_bypass_route(AS_t rc,
+static route_t none_get_bypass_route(AS_t rc,
                                               const char *src,
-                                              const char *dst)
-{
+                                              const char *dst) {
   return NULL;
 }
 
-void model_none_finalize(AS_t as) {
-  xbt_free(as);
+static void none_parse_PU(AS_t rc, const char *name) {
+  /* don't care about PUs */
 }
 
-static void none_parse_PU(AS_t rc,
-                                     const char *name)
-{
-}
-
-static void none_parse_AS(AS_t rc,
-                                       const char *name)
-{
+static void none_parse_AS(AS_t rc, const char *name) {
+  /* even don't care about sub-ASes -- I'm as nihilist as an old punk*/
 }
 
 /* Creation routing model functions */
@@ -53,10 +42,19 @@ AS_t model_none_create_sized(size_t childsize) {
   new_component->parse_route = NULL;
   new_component->parse_ASroute = NULL;
   new_component->parse_bypassroute = NULL;
-  new_component->get_route = none_get_route;
+  new_component->get_route_and_latency = none_get_route_and_latency;
   new_component->get_onelink_routes = none_get_onelink_routes;
   new_component->get_bypass_route = none_get_bypass_route;
   new_component->finalize = model_none_finalize;
+
+  new_component->routing_sons = xbt_dict_new();
+
   return new_component;
 }
 
+void model_none_finalize(AS_t as) {
+  xbt_dict_free(&as->routing_sons);
+  xbt_free(as->name);
+  xbt_free(as);
+}
+