X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/88fad0aaff9eb463f048bfdfe4ad6218aba44ddb..dc9b8feaddd53842f6204f4f24409b2382393fa9:/include/simgrid/kernel/routing/DijkstraZone.hpp diff --git a/include/simgrid/kernel/routing/DijkstraZone.hpp b/include/simgrid/kernel/routing/DijkstraZone.hpp index 2a638bd9b0..279bf5cbc1 100644 --- a/include/simgrid/kernel/routing/DijkstraZone.hpp +++ b/include/simgrid/kernel/routing/DijkstraZone.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2013-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -8,20 +8,11 @@ #include -struct s_graph_node_data_t { - int id; - int graph_id; /* used for caching internal graph id's */ -}; -typedef s_graph_node_data_t* graph_node_data_t; namespace simgrid { namespace kernel { namespace routing { -/*********** - * Classes * - ***********/ - /** @ingroup ROUTING_API * @brief NetZone with an explicit routing computed on need with Dijsktra * @@ -33,13 +24,18 @@ namespace routing { */ class XBT_PRIVATE DijkstraZone : public RoutedZone { public: - DijkstraZone(NetZone* father, std::string name, bool cached); - void seal() override; + DijkstraZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel, bool cached); + DijkstraZone(const DijkstraZone&) = delete; + DijkstraZone& operator=(const DijkstraZone&) = delete; ~DijkstraZone() override; - xbt_node_t routeGraphNewNode(int id, int graph_id); - xbt_node_t nodeMapSearch(int id); - void newRoute(int src_id, int dst_id, RouteCreationArgs* e_route); + +private: + xbt_node_t route_graph_new_node(int id); + xbt_node_t node_map_search(int id); + void new_edge(int src_id, int dst_id, RouteCreationArgs* e_route); + +public: /* For each vertex (node) already in the graph, * make sure it also has a loopback link; this loopback * can potentially already be in the graph, and in that @@ -51,9 +47,10 @@ public: * After this function returns, any node in the graph * will have a loopback attached to it. */ - void getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* route, double* lat) override; - void addRoute(NetPoint* src, NetPoint* dst, NetPoint* gw_src, NetPoint* gw_dst, - std::vector& link_list, bool symmetrical) override; + void seal() override; + void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* route, double* lat) override; + void add_route(NetPoint* src, NetPoint* dst, NetPoint* gw_src, NetPoint* gw_dst, + std::vector& link_list, bool symmetrical) override; xbt_graph_t route_graph_ = nullptr; /* xbt_graph */ std::map graph_node_map_; /* map */