{
ns3::NodeContainer Nodes;
- for (int const& i : *cluster.radicals) {
+ for (int const& i : cluster.radicals) {
// Create private link
std::string host_id = cluster.prefix + std::to_string(i) + cluster.suffix;
auto* src = simgrid::s4u::Host::by_name(host_id)->get_netpoint();
current_zone->set_limiter();
}
- for (int const& i : *cluster->radicals) {
+ for (int const& i : cluster->radicals) {
std::string host_id = std::string(cluster->prefix) + std::to_string(i) + cluster->suffix;
XBT_DEBUG("<host\tid=\"%s\"\tspeed=\"%f\">", host_id.c_str(), cluster->speeds.front());
sg_platf_new_Zone_seal();
simgrid::kernel::routing::on_cluster_creation(*cluster);
- delete cluster->radicals;
}
void routing_cluster_add_backbone(simgrid::kernel::resource::LinkImpl* bb)
void sg_platf_new_cabinet(const simgrid::kernel::routing::CabinetCreationArgs* cabinet)
{
auto* zone = static_cast<simgrid::kernel::routing::ClusterZone*>(routing_get_current());
- for (int const& radical : *cabinet->radicals) {
+ for (int const& radical : cabinet->radicals) {
std::string id = cabinet->prefix + std::to_string(radical) + cabinet->suffix;
simgrid::s4u::Host* host = zone->create_host(id, std::vector<double>{cabinet->speed})->seal();
zone->add_private_link_at(host->get_netpoint()->id(), {link_up->get_impl(), link_down->get_impl()});
}
- delete cabinet->radicals;
}
simgrid::kernel::resource::DiskImpl* sg_platf_new_disk(const simgrid::kernel::routing::DiskCreationArgs* disk)
std::string id;
std::string prefix;
std::string suffix;
- std::vector<int>* radicals = nullptr;
+ std::vector<int> radicals;
std::vector<double> speeds;
int core_amount = 0;
double bw = 0;
std::string id;
std::string prefix;
std::string suffix;
- std::vector<int>* radicals;
+ std::vector<int> radicals;
double speed;
double bw;
double lat;
}
/* Turn something like "1-4,6,9-11" into the vector {1,2,3,4,6,9,10,11} */
-static std::vector<int>* explodesRadical(const std::string& radicals)
+static void explodesRadical(const std::string& radicals, std::vector<int>* exploded)
{
- auto* exploded = new std::vector<int>();
-
// Make all hosts
std::vector<std::string> radical_elements;
boost::split(radical_elements, radicals, boost::is_any_of(","));
for (int i = start; i <= end; i++)
exploded->push_back(i);
}
-
- return exploded;
}
cluster.id = A_surfxml_cluster_id;
cluster.prefix = A_surfxml_cluster_prefix;
cluster.suffix = A_surfxml_cluster_suffix;
- cluster.radicals = explodesRadical(A_surfxml_cluster_radical);
+ explodesRadical(A_surfxml_cluster_radical, &cluster.radicals);
+
cluster.speeds = xbt_parse_get_all_speeds(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_speed,
"speed of cluster", cluster.id);
cluster.core_amount = surf_parse_get_int(A_surfxml_cluster_core);
cabinet.id.c_str());
cabinet.lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_lat, "lat of cabinet",
cabinet.id.c_str());
- cabinet.radicals = explodesRadical(A_surfxml_cabinet_radical);
+ explodesRadical(A_surfxml_cabinet_radical, &cabinet.radicals);
sg_platf_new_cabinet(&cabinet);
}