-/* Copyright (c) 2009-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2009-2019. 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 "src/surf/network_interface.hpp"
#include "src/surf/xml/platf_private.hpp"
#include "surf/surf.hpp"
+#include "xbt/string.hpp"
#include <cfloat>
#include <queue>
int graph_id_ = -1; /* used for caching internal graph id's */
};
-DijkstraZone::DijkstraZone(NetZoneImpl* father, std::string name, resource::NetworkModel* netmodel, bool cached)
+DijkstraZone::DijkstraZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel, bool cached)
: RoutedZone(father, name, netmodel), cached_(cached)
{
}
route_graph_ = xbt_graph_new_graph(1, nullptr);
/* Add the loopback if needed */
- if (surf_network_model->loopback_ && hierarchy_ == RoutingMode::base) {
+ if (network_model_->loopback_ && hierarchy_ == RoutingMode::base) {
xbt_dynar_foreach (xbt_graph_get_nodes(route_graph_), cursor, node) {
bool found = false;
}
if (not found) {
- RouteCreationArgs* e_route = new simgrid::kernel::routing::RouteCreationArgs();
- e_route->link_list.push_back(surf_network_model->loopback_);
- xbt_graph_new_edge(route_graph_, node, node, e_route);
+ RouteCreationArgs* route = new simgrid::kernel::routing::RouteCreationArgs();
+ route->link_list.push_back(network_model_->loopback_);
+ xbt_graph_new_edge(route_graph_, node, node, route);
}
}
}
xbt_edge_t edge = xbt_graph_get_edge(route_graph_, node_s_v, node_e_v);
if (edge == nullptr)
- THROWF(arg_error, 0, "No route from '%s' to '%s'", src->get_cname(), dst->get_cname());
+ throw std::invalid_argument(xbt::string_printf("No route from '%s' to '%s'", src->get_cname(), dst->get_cname()));
RouteCreationArgs* e_route = static_cast<RouteCreationArgs*>(xbt_graph_edge_get_data(edge));
xbt_edge_t edge = xbt_graph_get_edge(route_graph_, node_pred_v, node_v);
if (edge == nullptr)
- THROWF(arg_error, 0, "No route from '%s' to '%s'", src->get_cname(), dst->get_cname());
+ throw std::invalid_argument(xbt::string_printf("No route from '%s' to '%s'", src->get_cname(), dst->get_cname()));
RouteCreationArgs* e_route = static_cast<RouteCreationArgs*>(xbt_graph_edge_get_data(edge));
// Make sure that this graph edge was not already added to the graph
if (xbt_graph_get_edge(route_graph_, src, dst) != nullptr) {
if (route->gw_dst == nullptr || route->gw_src == nullptr)
- THROWF(arg_error, 0, "Route from %s to %s already exists", route->src->get_cname(), route->dst->get_cname());
+ throw std::invalid_argument(
+ xbt::string_printf("Route from %s to %s already exists", route->src->get_cname(), route->dst->get_cname()));
else
- THROWF(arg_error, 0, "Route from %s@%s to %s@%s already exists", route->src->get_cname(),
- route->gw_src->get_cname(), route->dst->get_cname(), route->gw_dst->get_cname());
+ throw std::invalid_argument(xbt::string_printf("Route from %s@%s to %s@%s already exists",
+ route->src->get_cname(), route->gw_src->get_cname(),
+ route->dst->get_cname(), route->gw_dst->get_cname()));
}
// Finally add it