X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/850b11f6847edce3023ef068f2df7417691e2df3..a28f8d4f0a7734d65dafa41486ca0ab78038a975:/src/surf/surf_routing_dijkstra.hpp diff --git a/src/surf/surf_routing_dijkstra.hpp b/src/surf/surf_routing_dijkstra.hpp index a5ef07e3ed..dd1523bfce 100644 --- a/src/surf/surf_routing_dijkstra.hpp +++ b/src/surf/surf_routing_dijkstra.hpp @@ -34,14 +34,16 @@ namespace surf { class XBT_PRIVATE AsDijkstra; +/** Dijkstra routing data: fast initialization, slow lookup, small memory requirements, shortest path routing only */ class AsDijkstra : public AsGeneric { public: - AsDijkstra(); - AsDijkstra(bool cached); + AsDijkstra(const char*name, bool cached); + void Seal() override; + ~AsDijkstra(); - xbt_node_t routeGraphNewNode(int id, int graph_id); - graph_node_map_element_t nodeMapSearch(int id); - void newRoute(int src_id, int dst_id, sg_platf_route_cbarg_t e_route); + xbt_node_t routeGraphNewNode(int id, int graph_id); + graph_node_map_element_t nodeMapSearch(int id); + void newRoute(int src_id, int dst_id, sg_platf_route_cbarg_t e_route); /** * For each vertex (node) already in the graph, * make sure it also has a loopback link; this loopback @@ -54,18 +56,14 @@ public: * After this function returns, any node in the graph * will have a loopback attached to it. */ - void addLoopback(); - void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) override; - xbt_dynar_t getOneLinkRoutes() override; - void getRouteAndLatency(sg_platf_route_cbarg_t route, double *lat); // FIXME: this function is dangerously not overriding because of diverging prototype - void parseASroute(sg_platf_route_cbarg_t route) override; - void parseRoute(sg_platf_route_cbarg_t route) override; - void end(); + void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) override; + void getRouteAndLatency(sg_platf_route_cbarg_t route, double *lat); // FIXME: this function is dangerously not overriding because of diverging prototype + xbt_dynar_t getOneLinkRoutes() override; + void parseRoute(sg_platf_route_cbarg_t route) override; - xbt_graph_t p_routeGraph = nullptr; /* xbt_graph */ - xbt_dict_t p_graphNodeMap = nullptr; /* map */ - xbt_dict_t p_routeCache = nullptr; /* use in cache mode */ - bool m_cached = false; + xbt_graph_t routeGraph_ = nullptr; /* xbt_graph */ + xbt_dict_t graphNodeMap_ = nullptr; /* map */ + xbt_dict_t routeCache_ = nullptr; /* use in cache mode */ }; }