X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b3b356352e87ae00a20f737c48e19b0c8413455a..2c8c164d58104acb6256b6d8efd476a6a2165b8a:/src/surf/surf_routing_generic.hpp diff --git a/src/surf/surf_routing_generic.hpp b/src/surf/surf_routing_generic.hpp index 7eed697865..6587ace548 100644 --- a/src/surf/surf_routing_generic.hpp +++ b/src/surf/surf_routing_generic.hpp @@ -4,40 +4,36 @@ /* 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. */ +#include + #include "surf_routing_none.hpp" #ifndef SURF_ROUTING_GENERIC_HPP_ #define SURF_ROUTING_GENERIC_HPP_ -class AsGeneric; +namespace simgrid { +namespace surf { -void generic_free_route(sg_platf_route_cbarg_t route); +class XBT_PRIVATE AsGeneric; -class AsGeneric : public AsNone { +class XBT_PRIVATE AsGeneric : public AsNone { public: - AsGeneric(); + AsGeneric(const char*name); ~AsGeneric(); - virtual void getRouteAndLatency(RoutingEdge *src, RoutingEdge *dst, sg_platf_route_cbarg_t into, double *latency); - virtual xbt_dynar_t getOneLinkRoutes(); - virtual void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges); - virtual sg_platf_route_cbarg_t getBypassRoute(RoutingEdge *src, RoutingEdge *dst, double *lat); - - /* 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(RoutingEdge *elm); /* A host or a router, whatever */ - virtual int parseAS(RoutingEdge *elm); - virtual void parseRoute(sg_platf_route_cbarg_t route); - virtual void parseASroute(sg_platf_route_cbarg_t route); - virtual void parseBypassroute(sg_platf_route_cbarg_t e_route); + 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; + + /* 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 As *asExist(As *to_find); - virtual As *autonomousSystemExist(char *element); - virtual As *processingUnitsExist(char *element); - virtual void srcDstCheck(RoutingEdge *src, RoutingEdge *dst); +protected: + void getRouteCheckParams(NetCard *src, NetCard *dst); + void parseRouteCheckParams(sg_platf_route_cbarg_t route); }; +} +} + #endif /* SURF_ROUTING_GENERIC_HPP_ */