Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix Memleaks
[simgrid.git] / src / surf / surf_routing_cluster.hpp
1 #include "surf_routing_none.hpp"
2 #include "network.hpp"
3
4 #ifndef SURF_ROUTING_CLUSTER_HPP_
5 #define SURF_ROUTING_CLUSTER_HPP_
6
7 /***********
8  * Classes *
9  ***********/
10 class AsCluster;
11 typedef AsCluster *AsClusterPtr;
12
13
14 /* ************************************************** */
15 /* **************  Cluster ROUTING   **************** */
16
17 class AsCluster: public AsNone {
18 public:
19   AsCluster();
20
21   void getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_platf_route_cbarg_t into, double *latency);
22   //xbt_dynar_t getOneLinkRoutes();
23   //void parseRoute(sg_platf_route_cbarg_t route);
24   //void parseASroute(sg_platf_route_cbarg_t route);
25
26   void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges);
27   //sg_platf_route_cbarg_t getBypassRoute(RoutingEdgePtr src, RoutingEdgePtr dst, double *lat);
28
29   /* The parser calls the following functions to inform the routing models
30    * that a new element is added to the AS currently built.
31    *
32    * Of course, only the routing model of this AS is informed, not every ones */
33   int parsePU(RoutingEdgePtr elm); /* A host or a router, whatever */
34   int parseAS(RoutingEdgePtr elm);
35
36   NetworkCm02LinkPtr p_backbone;
37   void *p_loopback;
38   RoutingEdgePtr p_router;
39 };
40
41
42 #endif /* SURF_ROUTING_CLUSTER_HPP_ */