Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add two new tag for routing cluster (only):
[simgrid.git] / src / surf / surf_routing_private.h
index 6f2fd75..61f6cb1 100644 (file)
@@ -29,8 +29,8 @@ void model_none_finalize(AS_t as);
 AS_t model_generic_create_sized(size_t childsize);
 void model_generic_finalize(AS_t as);
 
-void generic_parse_PU(AS_t rc, const char *name);
-void generic_parse_AS(AS_t rc, const char *name);
+int generic_parse_PU(AS_t rc, sg_routing_edge_t elm);
+int generic_parse_AS(AS_t rc, sg_routing_edge_t elm);
 void generic_parse_bypassroute(AS_t rc, const char *src, const char *dst,
                                route_t e_route);
 
@@ -39,24 +39,24 @@ void generic_parse_bypassroute(AS_t rc, const char *src, const char *dst,
 
 xbt_dynar_t generic_get_onelink_routes(AS_t rc);
 route_t generic_get_bypassroute(AS_t rc,
-                                                const char *src,
-                                                const char *dst);
+    sg_routing_edge_t src,
+    sg_routing_edge_t dst,
+    double *lat);
 
 /* ************************************************************************** */
 /* ****************** GENERIC AUX FUNCTIONS (declarations) ****************** */
 
-route_t
-generic_new_extended_route(e_surf_routing_hierarchy_t hierarchy,
-                           void *data, int order);
-route_t
-generic_new_route(e_surf_routing_hierarchy_t hierarchy,
-                           void *data, int order);
+/* change a route containing link names into a route containing link entities.
+ * If change_order is true, the links are put in reverse order in the
+ * produced route */
+route_t generic_new_extended_route(e_surf_routing_hierarchy_t hierarchy,
+                                   route_t data, int preserve_order);
 AS_t
 generic_autonomous_system_exist(AS_t rc, char *element);
 AS_t
 generic_processing_units_exist(AS_t rc, char *element);
-void generic_src_dst_check(AS_t rc, const char *src,
-                                  const char *dst);
+void generic_src_dst_check(AS_t rc, sg_routing_edge_t src,
+    sg_routing_edge_t dst);
 
 
 /* ************************************************************************** */
@@ -72,11 +72,12 @@ AS_t model_rulebased_create(void);      /* create structures for rulebased routi
 
 /* ************************************************** */
 /* **************  Cluster ROUTING   **************** */
-AS_t model_cluster_create(void);      /* create structures for cluster routing model */
+typedef struct {
+  s_as_t generic_routing;
+  void *backbone;
+} s_as_cluster_t, *as_cluster_t;
 
-/* Pass info from the cluster parser to the cluster routing */
-void surf_routing_cluster_add_link(const char* host_id,surf_parsing_link_up_down_t info);
-void surf_routing_cluster_add_backbone(AS_t as, void* bb);
+AS_t model_cluster_create(void);      /* create structures for cluster routing model */
 
 /* ************************************************** */
 /* **************  Vivaldi ROUTING   **************** */
@@ -99,8 +100,8 @@ void model_dijkstra_both_parse_route (AS_t rc, const char *src,
 /* *************************** FULL ROUTING ********************************* */
 AS_t model_full_create(void);   /* create structures for full routing model */
 void model_full_end(AS_t as);       /* finalize the creation of full routing model */
-void model_full_set_route(     /* Set the route and ASroute between src and dst */
-               AS_t rc, const char *src, const char *dst, route_t route);
+void model_full_set_route(  /* Set the route and ASroute between src and dst */
+    AS_t rc, const char *src, const char *dst, route_t route);
 
 
 #endif                          /* _SURF_SURF_ROUTING_PRIVATE_H */