X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6de03ecc4e630732984a0673512a5d15fd75e270..fbc5196e44c92ef4ccda2fb737423e373c03d6f9:/src/surf/surf_routing_generic.hpp diff --git a/src/surf/surf_routing_generic.hpp b/src/surf/surf_routing_generic.hpp index 53928b152b..9f4d275244 100644 --- a/src/surf/surf_routing_generic.hpp +++ b/src/surf/surf_routing_generic.hpp @@ -1,44 +1,39 @@ -/* Copyright (c) 2013-2014. The SimGrid Team. +/* Copyright (c) 2013-2015. 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. */ +#include + #include "surf_routing_none.hpp" #ifndef SURF_ROUTING_GENERIC_HPP_ #define SURF_ROUTING_GENERIC_HPP_ -class AsGeneric; -typedef AsGeneric *AsGenericPtr; +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(RoutingEdgePtr src, RoutingEdgePtr 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(RoutingEdgePtr src, RoutingEdgePtr 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(RoutingEdgePtr elm); /* A host or a router, whatever */ - virtual int parseAS( RoutingEdgePtr 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 AsPtr asExist(AsPtr to_find); - virtual AsPtr autonomousSystemExist(char *element); - virtual AsPtr processingUnitsExist(char *element); - virtual void srcDstCheck(RoutingEdgePtr src, RoutingEdgePtr dst); +protected: + void getRouteCheckParams(NetCard *src, NetCard *dst); + void addRouteCheckParams(sg_platf_route_cbarg_t route); }; +} +} + #endif /* SURF_ROUTING_GENERIC_HPP_ */