X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee8d653e61f6bf76330b44acf9ded13fa9a89dcc..1b89437671ba572a199dd4ff5766ba82720cdf03:/src/kernel/routing/RoutedZone.cpp diff --git a/src/kernel/routing/RoutedZone.cpp b/src/kernel/routing/RoutedZone.cpp index de14a37f6f..0b7f207b88 100644 --- a/src/kernel/routing/RoutedZone.cpp +++ b/src/kernel/routing/RoutedZone.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-2020. 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. */ @@ -17,15 +17,8 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_routing_generic, surf_route, "Generic imple /* ***************************************************************** */ /* *********************** GENERIC METHODS ************************* */ -static const char* instr_node_name(xbt_node_t node) +xbt_node_t new_xbt_graph_node(const s_xbt_graph_t* graph, const char* name, std::map* nodes) { - void* data = xbt_graph_node_get_data(node); - return static_cast(data); -} - -xbt_node_t new_xbt_graph_node(xbt_graph_t graph, const char* name, std::map* nodes) -{ - auto elm = nodes->find(name); if (elm == nodes->end()) { xbt_node_t ret = xbt_graph_new_node(graph, xbt_strdup(name)); @@ -35,10 +28,11 @@ xbt_node_t new_xbt_graph_node(xbt_graph_t graph, const char* name, std::mapsecond; } -xbt_edge_t new_xbt_graph_edge(xbt_graph_t graph, xbt_node_t s, xbt_node_t d, std::map* edges) +xbt_edge_t new_xbt_graph_edge(const s_xbt_graph_t* graph, xbt_node_t s, xbt_node_t d, + std::map* edges) { - const char* sn = instr_node_name(s); - const char* dn = instr_node_name(d); + const auto* sn = static_cast(xbt_graph_node_get_data(s)); + const auto* dn = static_cast(xbt_graph_node_get_data(d)); std::string name = std::string(sn) + dn; auto elm = edges->find(name); @@ -59,22 +53,22 @@ namespace simgrid { namespace kernel { namespace routing { -RoutedZone::RoutedZone(NetZoneImpl* father, std::string name, resource::NetworkModel* netmodel) +RoutedZone::RoutedZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel) : NetZoneImpl(father, name, netmodel) { } -void RoutedZone::get_graph(xbt_graph_t graph, std::map* nodes, +void RoutedZone::get_graph(const s_xbt_graph_t* graph, std::map* nodes, std::map* edges) { - std::vector vertices = get_vertices(); + std::vector vertices = get_vertices(); for (auto const& my_src : vertices) { for (auto const& my_dst : vertices) { if (my_src == my_dst) continue; - RouteCreationArgs* route = new RouteCreationArgs(); + auto* route = new RouteCreationArgs(); get_local_route(my_src, my_dst, route, nullptr); @@ -126,7 +120,7 @@ RouteCreationArgs* RoutedZone::new_extended_route(RoutingMode hierarchy, NetPoin std::vector& link_list, bool /* symmetrical */, bool change_order) { - RouteCreationArgs* result = new RouteCreationArgs(); + auto* result = new RouteCreationArgs(); xbt_assert(hierarchy == RoutingMode::base || hierarchy == RoutingMode::recursive, "The hierarchy of this netzone is neither BASIC nor RECURSIVE, I'm lost here."); @@ -149,13 +143,13 @@ RouteCreationArgs* RoutedZone::new_extended_route(RoutingMode hierarchy, NetPoin return result; } -void RoutedZone::get_route_check_params(NetPoint* src, NetPoint* dst) +void RoutedZone::get_route_check_params(NetPoint* src, NetPoint* dst) const { xbt_assert(src, "Cannot find a route from nullptr to %s", dst->get_cname()); xbt_assert(dst, "Cannot find a route from %s to nullptr", src->get_cname()); - NetZoneImpl* src_as = src->get_englobing_zone(); - NetZoneImpl* dst_as = dst->get_englobing_zone(); + const NetZoneImpl* src_as = src->get_englobing_zone(); + const NetZoneImpl* dst_as = dst->get_englobing_zone(); xbt_assert(src_as == dst_as, "Internal error: %s@%s and %s@%s are not in the same netzone as expected. Please report that bug.", @@ -167,7 +161,7 @@ void RoutedZone::get_route_check_params(NetPoint* src, NetPoint* dst) src->get_cname(), dst->get_cname(), src_as->get_cname(), dst_as->get_cname(), get_cname()); } void RoutedZone::add_route_check_params(NetPoint* src, NetPoint* dst, NetPoint* gw_src, NetPoint* gw_dst, - std::vector& link_list, bool symmetrical) + const std::vector& link_list, bool symmetrical) const { const char* srcName = src->get_cname(); const char* dstName = dst->get_cname(); @@ -203,8 +197,8 @@ void RoutedZone::add_route_check_params(NetPoint* src, NetPoint* dst, NetPoint* dstName, gw_dst->get_cname()); } - simgrid::s4u::NetZone::on_route_creation(symmetrical, src, dst, gw_src, gw_dst, link_list); -} -} -} + s4u::NetZone::on_route_creation(symmetrical, src, dst, gw_src, gw_dst, link_list); } +} // namespace routing +} // namespace kernel +} // namespace simgrid