-/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-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. */
namespace vivaldi {
simgrid::xbt::Extension<NetPoint, Coords> Coords::EXTENSION_ID;
-Coords::Coords(NetPoint* netpoint, std::string coordStr)
+Coords::Coords(NetPoint* netpoint, const std::string& coordStr)
{
if (not Coords::EXTENSION_ID.valid())
Coords::EXTENSION_ID = NetPoint::extension_create<Coords>();
return (src_coord - dst_coord) * (src_coord - dst_coord);
}
-static std::vector<double>* getCoordsFromNetpoint(NetPoint* np)
+static std::vector<double>* netpoint_get_coords(NetPoint* np)
{
simgrid::kernel::routing::vivaldi::Coords* coords = np->extension<simgrid::kernel::routing::vivaldi::Coords>();
xbt_assert(coords, "Please specify the Vivaldi coordinates of %s %s (%p)",
return &coords->coords;
}
-VivaldiZone::VivaldiZone(NetZone* father, std::string name) : ClusterZone(father, name)
+VivaldiZone::VivaldiZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel)
+ : ClusterZone(father, name, netmodel)
{
}
-void VivaldiZone::setPeerLink(NetPoint* netpoint, double bw_in, double bw_out, std::string coord)
+void VivaldiZone::set_peer_link(NetPoint* netpoint, double bw_in, double bw_out, const std::string& coord)
{
xbt_assert(netpoint->get_englobing_zone() == this,
"Cannot add a peer link to a netpoint that is not in this netzone");
std::string link_up = "link_" + netpoint->get_name() + "_UP";
std::string link_down = "link_" + netpoint->get_name() + "_DOWN";
- resource::LinkImpl* linkUp = surf_network_model->createLink(link_up, bw_out, 0, s4u::Link::SharingPolicy::SHARED);
- resource::LinkImpl* linkDown = surf_network_model->createLink(link_down, bw_in, 0, s4u::Link::SharingPolicy::SHARED);
+ resource::LinkImpl* linkUp = network_model_->create_link(link_up, bw_out, 0, s4u::Link::SharingPolicy::SHARED);
+ resource::LinkImpl* linkDown = network_model_->create_link(link_down, bw_in, 0, s4u::Link::SharingPolicy::SHARED);
private_links_.insert({netpoint->id(), {linkUp, linkDown}});
}
/* Compute the extra latency due to the euclidean distance if needed */
if (lat) {
- std::vector<double>* srcCoords = getCoordsFromNetpoint(src);
- std::vector<double>* dstCoords = getCoordsFromNetpoint(dst);
+ std::vector<double>* srcCoords = netpoint_get_coords(src);
+ std::vector<double>* dstCoords = netpoint_get_coords(dst);
double euclidean_dist =
sqrt(euclidean_dist_comp(0, srcCoords, dstCoords) + euclidean_dist_comp(1, srcCoords, dstCoords)) +