X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6534c58a2afafe609a4671073f6b20f839e20fd7..eac77828e5174e46ff0bffc3a17149aaefb62438:/src/surf/surf_routing_generic.hpp diff --git a/src/surf/surf_routing_generic.hpp b/src/surf/surf_routing_generic.hpp index ce2c2876f4..073a2d4bc9 100644 --- a/src/surf/surf_routing_generic.hpp +++ b/src/surf/surf_routing_generic.hpp @@ -6,7 +6,7 @@ #include -#include "surf_routing_none.hpp" +#include "surf_routing.hpp" #ifndef SURF_ROUTING_GENERIC_HPP_ #define SURF_ROUTING_GENERIC_HPP_ @@ -16,27 +16,23 @@ namespace surf { class XBT_PRIVATE AsGeneric; -class XBT_PRIVATE AsGeneric : public AsNone { +class XBT_PRIVATE AsGeneric : public As { public: AsGeneric(const char*name); ~AsGeneric(); - virtual void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override; virtual void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override; virtual sg_platf_route_cbarg_t getBypassRoute(NetCard *src, NetCard *dst, double *lat) override; - /* The parser calls the following functions to inform the routing models - * that a new element is added to the AS currently built. - * - * Of course, only the routing model of this AS is informed, not every ones */ - virtual int parsePU(NetCard *elm) override; /* A host or a router, whatever */ - virtual int parseAS(NetCard *elm) override; - virtual void parseRoute(sg_platf_route_cbarg_t route) override; - virtual void parseASroute(sg_platf_route_cbarg_t route) override; + /* Add content to the AS, at parsing time */ virtual void parseBypassroute(sg_platf_route_cbarg_t e_route) override; virtual sg_platf_route_cbarg_t newExtendedRoute(e_surf_routing_hierarchy_t hierarchy, sg_platf_route_cbarg_t routearg, int change_order); - virtual void srcDstCheck(NetCard *src, NetCard *dst); +protected: + void getRouteCheckParams(NetCard *src, NetCard *dst); + void addRouteCheckParams(sg_platf_route_cbarg_t route); +private: + xbt_dict_t bypassRoutes_ = xbt_dict_new_homogeneous((void (*)(void *)) routing_route_free); }; }