Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
7dd239c0eac22ea8d1c6c56c16b4a27b21eeabf7
[simgrid.git] / src / kernel / routing / AsRoutedGraph.hpp
1 /* Copyright (c) 2013-2016. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef SIMGRID_ROUTING_GENERIC_HPP_
7 #define SIMGRID_ROUTING_GENERIC_HPP_
8
9 #include "src/kernel/routing/AsImpl.hpp"
10
11 namespace simgrid {
12 namespace kernel {
13 namespace routing {
14
15 class XBT_PRIVATE AsRoutedGraph : public AsImpl {
16 public:
17   explicit AsRoutedGraph(As* father, const char* name);
18   ~AsRoutedGraph() override;
19
20   void getOneLinkRoutes(xbt_dynar_t accumulator) override;
21
22   void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
23   virtual sg_platf_route_cbarg_t newExtendedRoute(RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, int change_order);
24 protected:
25   void getRouteCheckParams(NetCard *src, NetCard *dst);
26   void addRouteCheckParams(sg_platf_route_cbarg_t route);
27 };
28
29 }}} // namespace
30
31 #endif /* SIMGRID_ROUTING_GENERIC_HPP_ */