Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
I don't see the point of declaring and calling empty functions
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 9 Nov 2011 15:50:42 +0000 (16:50 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 9 Nov 2011 15:59:36 +0000 (16:59 +0100)
*_load *_unload callbacks of the routing logics seem unused.
We could maybe kill them?

src/surf/surf_private.h
src/surf/surf_routing.c
src/surf/surf_routing_dijkstra.c
src/surf/surf_routing_floyd.c
src/surf/surf_routing_full.c
src/surf/surf_routing_none.c
src/surf/surf_routing_private.h

index 0bd3e07..fa1f009 100644 (file)
@@ -107,8 +107,10 @@ typedef struct s_model_type {
   const char *name;
   const char *desc;
   routing_component_t (*create) ();
-  void (*load) ();
-  void (*unload) ();
+  void (*load) ();     /* Add parsing callbacks for the time of the creation of this AS
+                          FIXME: that feature is unused and could maybe be killed? */
+  void (*unload) ();   /* Remove the callbacks at the end of this AS's creation
+                          FIXME: that feature is unused and could maybe be killed? */
   void (*end) ();
 } s_model_type_t, *model_type_t;
 
index b5a2578..20dba8a 100644 (file)
@@ -71,26 +71,24 @@ typedef enum {
 struct s_model_type routing_models[] = {
   {"Full",
    "Full routing data (fast, large memory requirements, fully expressive)",
-   model_full_create, model_full_load, model_full_unload, model_full_end},
+   model_full_create, NULL,NULL, model_full_end},
   {"Floyd",
    "Floyd routing data (slow initialization, fast lookup, lesser memory requirements, shortest path routing only)",
-   model_floyd_create, model_floyd_load, model_floyd_unload, model_floyd_end},
+   model_floyd_create, NULL,NULL, model_floyd_end},
   {"Dijkstra",
    "Dijkstra routing data (fast initialization, slow lookup, small memory requirements, shortest path routing only)",
-   model_dijkstra_create, model_dijkstra_both_load,
-   model_dijkstra_both_unload, model_dijkstra_both_end},
+   model_dijkstra_create, NULL,NULL, model_dijkstra_both_end},
   {"DijkstraCache",
    "Dijkstra routing data (fast initialization, fast lookup, small memory requirements, shortest path routing only)",
-   model_dijkstracache_create, model_dijkstra_both_load,
-   model_dijkstra_both_unload, model_dijkstra_both_end},
+   model_dijkstracache_create, NULL,NULL, model_dijkstra_both_end},
   {"none", "No routing (usable with Constant network only)",
-   model_none_create, model_none_load, model_none_unload, model_none_end},
+   model_none_create, NULL, NULL, NULL},
   {"RuleBased", "Rule-Based routing data (...)",
-   model_rulebased_create, model_none_load, model_none_unload, model_none_end},
+   model_rulebased_create, NULL, NULL, NULL},
   {"Vivaldi", "Vivaldi routing",
-   model_vivaldi_create, model_none_load, model_none_unload, model_none_end},
+   model_vivaldi_create, NULL, NULL, NULL},
   {"Cluster", "Cluster routing",
-   model_cluster_create, model_none_load, model_cluster_unload, model_none_end},
+   model_cluster_create, NULL, NULL, NULL},
   {NULL, NULL, NULL, NULL, NULL, NULL}
 };
 
@@ -350,13 +348,15 @@ void routing_AS_open(const char *AS_id, const char *wanted_routing_type)
     /* add to the father element list */
     (*(current_routing->set_autonomous_system)) (current_routing, AS_id);
     /* unload the prev parse rules */
-    (*(current_routing->routing->unload)) ();
+    if (current_routing->routing->unload)
+      (*(current_routing->routing->unload)) ();
 
   } else {
     THROWF(arg_error, 0, "All defined components must be belong to a AS");
   }
   /* set the new parse rules */
-  (*(new_routing->routing->load)) ();
+  if (new_routing->routing->load)
+    (*(new_routing->routing->load)) ();
   /* set the new current component of the tree */
   current_routing = new_routing;
 }
@@ -388,10 +388,12 @@ void routing_AS_close()
     xbt_lib_set(as_router_lib, current_routing->name, ROUTING_ASR_LEVEL,
                 (void *) info);
 
-    (*(current_routing->routing->unload)) ();
-    (*(current_routing->routing->end)) ();
+    if (current_routing->routing->unload)
+      (*(current_routing->routing->unload)) ();
+    if (current_routing->routing->end)
+      (*(current_routing->routing->end)) ();
     current_routing = current_routing->routing_father;
-    if (current_routing != NULL)
+    if (current_routing != NULL && current_routing->routing->load != NULL)
       (*(current_routing->routing->load)) ();
   }
 }
index a27f9aa..82f1924 100644 (file)
@@ -478,16 +478,6 @@ routing_component_t model_dijkstracache_create(void)
   return model_dijkstra_both_create(1);
 }
 
-void model_dijkstra_both_load(void)
-{
-  /* use "surfxml_add_callback" to add a parse function call */
-}
-
-void model_dijkstra_both_unload(void)
-{
-  /* use "surfxml_del_callback" to remove a parse function call */
-}
-
 void model_dijkstra_both_end(void)
 {
   routing_component_dijkstra_t routing =
index 390a28e..4b423e7 100644 (file)
@@ -198,16 +198,6 @@ routing_component_t model_floyd_create(void)
   return (routing_component_t)new_component;
 }
 
-void model_floyd_load(void)
-{
-  /* use "surfxml_add_callback" to add a parse function call */
-}
-
-void model_floyd_unload(void)
-{
-  /* use "surfxml_del_callback" to remove a parse function call */
-}
-
 void model_floyd_end(void)
 {
 
index 1673f86..2e81d23 100644 (file)
@@ -148,16 +148,6 @@ routing_component_t model_full_create(void)
   return (routing_component_t) new_component;
 }
 
-void model_full_load(void)
-{
-  /* use "surfxml_add_callback" to add a parse function call */
-}
-
-void model_full_unload(void)
-{
-  /* use "surfxml_del_callback" to remove a parse function call */
-}
-
 void model_full_end(void)
 {
   unsigned int i;
index c26c777..8d008d7 100644 (file)
@@ -72,14 +72,3 @@ routing_component_t model_none_create(void)
   return (routing_component_t) new_component;
 }
 
-void model_none_load(void)
-{
-}
-
-void model_none_unload(void)
-{
-}
-
-void model_none_end(void)
-{
-}
index a18de1e..27d5204 100644 (file)
@@ -65,8 +65,6 @@ void generic_src_dst_check(routing_component_t rc, const char *src,
 /* ************************************************************************** */
 /* *************************** FLOYD ROUTING ******************************** */
 routing_component_t model_floyd_create(void);  /* create structures for floyd routing model */
-void model_floyd_load(void);     /* load parse functions for floyd routing model */
-void model_floyd_unload(void);   /* unload parse functions for floyd routing model */
 void model_floyd_end(void);      /* finalize the creation of floyd routing model */
 void model_floyd_set_route(routing_component_t rc, const char *src,
         const char *dst, name_route_extended_t route);
@@ -95,8 +93,6 @@ routing_component_t model_vivaldi_create(void);      /* create structures for vi
 routing_component_t model_dijkstra_both_create(int cached);    /* create by calling dijkstra or dijkstracache */
 routing_component_t model_dijkstra_create(void);       /* create structures for dijkstra routing model */
 routing_component_t model_dijkstracache_create(void);  /* create structures for dijkstracache routing model */
-void model_dijkstra_both_load(void);     /* load parse functions for dijkstra routing model */
-void model_dijkstra_both_unload(void);   /* unload parse functions for dijkstra routing model */
 void model_dijkstra_both_end(void);      /* finalize the creation of dijkstra routing model */
 void model_dijkstra_both_set_route (routing_component_t rc, const char *src,
                      const char *dst, name_route_extended_t route);
@@ -104,8 +100,6 @@ void model_dijkstra_both_set_route (routing_component_t rc, const char *src,
 /* ************************************************************************** */
 /* *************************** FULL ROUTING ********************************* */
 routing_component_t model_full_create(void);   /* create structures for full routing model */
-void model_full_load(void);      /* load parse functions for full routing model */
-void model_full_unload(void);    /* unload parse functions for full routing model */
 void model_full_end(void);       /* finalize the creation of full routing model */
 void model_full_set_route(     /* Set the route and ASroute between src and dst */
                routing_component_t rc, const char *src, const char *dst, name_route_extended_t route);
@@ -113,8 +107,5 @@ void model_full_set_route(  /* Set the route and ASroute between src and dst */
 /* ************************************************************************** */
 /* ******************************* NO ROUTING ******************************* */
 routing_component_t model_none_create(void);           /* none routing model */
-void model_none_load(void);              /* none routing model */
-void model_none_unload(void);            /* none routing model */
-void model_none_end(void);               /* none routing model */
 
 #endif                          /* _SURF_SURF_ROUTING_PRIVATE_H */