X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9735863c1ccb1ae8b55853262d6e1c3ee3a8698f..a5c5765ba9e8336b55101d248a8f43fbf9cd0c0c:/src/surf/AsImpl.hpp diff --git a/src/surf/AsImpl.hpp b/src/surf/AsImpl.hpp index b77bac6030..66df50f718 100644 --- a/src/surf/AsImpl.hpp +++ b/src/surf/AsImpl.hpp @@ -6,20 +6,15 @@ #ifndef SIMGRID_SURF_AS_HPP #define SIMGRID_SURF_AS_HPP -#include "xbt/base.h" #include "xbt/graph.h" #include "simgrid/s4u/forward.hpp" #include "simgrid/s4u/As.hpp" -#include -#include #include "src/surf/xml/platf_private.hpp" // FIXME: kill sg_platf_route_cbarg_t to remove that UGLY include namespace simgrid { namespace surf { - class Link; - class NetCard; class RoutingPlatf; // FIXME: KILLME /** @brief Autonomous Systems @@ -30,8 +25,8 @@ namespace surf { XBT_PUBLIC_CLASS AsImpl : public s4u::As { friend simgrid::surf::RoutingPlatf; protected: - AsImpl(const char *name); - ~AsImpl(); + explicit AsImpl(const char *name); + ~AsImpl() override; public: /** @@ -48,7 +43,7 @@ public: * Things are rather complex here because we have to find the path from ASes to ASes, and within each. * In addition, the different ASes may use differing routing models. * Some ASes may be routed in full, others may have only some connection information and use a shortest path on top of that, and so on. - * Some ASes may even not have any predefined links and use only coordinate informations to compute the latency. + * Some ASes may even not have any predefined links and use only coordinate information to compute the latency. * * So, the path is constructed recursively, with each traversed AS adding its information to the set. * The algorithm for that is explained in http://hal.inria.fr/hal-00650233/ @@ -67,14 +62,13 @@ public: static void getRouteRecursive(surf::NetCard *src, surf::NetCard *dst, /* OUT */ std::vector * links, double *latency); - enum RoutingKind { - ROUTING_NULL = 0, /**< Undefined type */ - ROUTING_BASE, /**< Base case: use simple link lists for routing */ - ROUTING_RECURSIVE /**< Recursive case: also return gateway informations */ + enum class RoutingMode { + unset = 0, /**< Undefined type */ + base, /**< Base case: use simple link lists for routing */ + recursive /**< Recursive case: also return gateway information */ }; /* FIXME: protect the following fields once the construction madness is sorted out */ - RoutingKind hierarchy_ = ROUTING_NULL; - xbt_dynar_t upDownLinks = xbt_dynar_new(sizeof(s_surf_parsing_link_up_down_t),NULL); + RoutingMode hierarchy_ = RoutingMode::unset; surf::NetCard *netcard_ = nullptr; // Our representative in the father AS };