Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix initialization order.
[simgrid.git] / src / surf / surf_routing_none.cpp
1 /* Copyright (c) 2009, 2010, 2011, 2013. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include "surf_routing_none.hpp"
8
9 extern "C" {
10 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_none, surf, "Routing part of surf");
11 }
12
13 AS_t model_none_create(void)
14 {
15   return new AsNone();
16 }
17
18 xbt_dynar_t AsNone::getOneLinkRoutes() {
19   return NULL;
20 }
21
22 void AsNone::getRouteAndLatency(RoutingEdgePtr /*src*/, RoutingEdgePtr /*dst*/,
23                                 sg_platf_route_cbarg_t /*res*/, double *lat)
24 {
25   *lat = 0.0;
26 }
27
28 void AsNone::getGraph(xbt_graph_t /*graph*/, xbt_dict_t /*nodes*/, xbt_dict_t /*edges*/)
29 {
30         XBT_INFO("No routing no graph");
31 }
32
33 sg_platf_route_cbarg_t AsNone::getBypassRoute(RoutingEdgePtr /*src*/, RoutingEdgePtr /*dst*/, double */*lat*/) {
34   return NULL;
35 }
36
37 int AsNone::parsePU(RoutingEdgePtr elm) {
38   XBT_DEBUG("Load process unit \"%s\"", elm->p_name);
39   xbt_dynar_push_as(p_indexNetworkElm, RoutingEdgePtr, elm);
40   /* don't care about PUs */
41   return -1;
42 }
43
44 int AsNone::parseAS(RoutingEdgePtr elm) {
45   XBT_DEBUG("Load Autonomous system \"%s\"", elm->p_name);
46   xbt_dynar_push_as(p_indexNetworkElm, RoutingEdgePtr, elm);
47   /* even don't care about sub-ASes -- I'm as nihilist as an old punk*/
48   return -1;
49 }
50
51 void AsNone::parseRoute(sg_platf_route_cbarg_t /*route*/){
52   THROW_IMPOSSIBLE;
53 }
54
55 void AsNone::parseASroute(sg_platf_route_cbarg_t /*route*/){
56   THROW_IMPOSSIBLE;
57 }
58 void AsNone::parseBypassroute(sg_platf_route_cbarg_t /*e_route*/){
59   THROW_IMPOSSIBLE;
60 }
61
62 /* Creation routing model functions */
63 AsNone::AsNone() {
64   p_routingSons = xbt_dict_new_homogeneous(NULL);
65   p_indexNetworkElm = xbt_dynar_new(sizeof(char*),NULL);
66 }
67
68 AsNone::~AsNone() {
69   xbt_dict_free(&p_routingSons);
70   xbt_dynar_free(&p_indexNetworkElm);
71   xbt_dynar_free(&p_linkUpDownList);
72 }
73