-/* Copyright (c) 2006-2017. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2018. 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. */
/** Module management function: frees all internal data structures */
void sg_platf_exit() {
- simgrid::surf::on_cluster.disconnect_all_slots();
- simgrid::s4u::onPlatformCreated.disconnect_all_slots();
+ simgrid::surf::on_cluster.disconnectSlots();
+ simgrid::s4u::onPlatformCreated.disconnectSlots();
/* make sure that we will reinit the models while loading the platf once reinited */
surf_parse_models_setup_already_called = 0;
{
std::vector<std::string> names;
- if (link->policy == SURF_LINK_FULLDUPLEX) {
+ if (link->policy == SURF_LINK_SPLITDUPLEX) {
names.push_back(link->id+ "_UP");
names.push_back(link->id+ "_DOWN");
} else {
ZoneCreationArgs zone;
zone.id = cluster->id;
switch (cluster->topology) {
- case SURF_CLUSTER_TORUS:
- zone.routing = A_surfxml_AS_routing_ClusterTorus;
- break;
- case SURF_CLUSTER_DRAGONFLY:
- zone.routing = A_surfxml_AS_routing_ClusterDragonfly;
- break;
- case SURF_CLUSTER_FAT_TREE:
- zone.routing = A_surfxml_AS_routing_ClusterFatTree;
- break;
- default:
- zone.routing = A_surfxml_AS_routing_Cluster;
- break;
+ case ClusterTopology::TORUS:
+ zone.routing = A_surfxml_AS_routing_ClusterTorus;
+ break;
+ case ClusterTopology::DRAGONFLY:
+ zone.routing = A_surfxml_AS_routing_ClusterDragonfly;
+ break;
+ case ClusterTopology::FAT_TREE:
+ zone.routing = A_surfxml_AS_routing_ClusterFatTree;
+ break;
+ default:
+ zone.routing = A_surfxml_AS_routing_Cluster;
+ break;
}
sg_platf_new_Zone_begin(&zone);
simgrid::kernel::routing::ClusterZone* current_as = static_cast<ClusterZone*>(routing_get_current());
linkUp = simgrid::surf::LinkImpl::byName(tmp_link);
linkDown = simgrid::surf::LinkImpl::byName(tmp_link);
- auto as_cluster = static_cast<ClusterZone*>(current_as);
+ auto* as_cluster = static_cast<ClusterZone*>(current_as);
as_cluster->privateLinks_.insert({as_cluster->nodePosition(rankId), {linkUp, linkDown}});
}
}
//call the cluster function that adds the others links
- if (cluster->topology == SURF_CLUSTER_FAT_TREE) {
+ if (cluster->topology == ClusterTopology::FAT_TREE) {
static_cast<FatTreeZone*>(current_as)->addProcessingNode(i);
} else {
current_as->create_links_for_node(cluster, i, rankId, current_as->nodePositionWithLimiter(rankId));
sg_platf_new_host(&host);
LinkCreationArgs link;
- link.policy = SURF_LINK_FULLDUPLEX;
+ link.policy = SURF_LINK_SPLITDUPLEX;
link.latency = cabinet->lat;
link.bandwidth = cabinet->bw;
link.id = "link_" + hostname;
mount_list.insert({mount->name, simgrid::surf::StorageImpl::byName(mount->storageId.c_str())});
}
-void sg_platf_new_route(sg_platf_route_cbarg_t route)
+void sg_platf_new_route(RouteCreationArgs* route)
{
routing_get_current()->addRoute(route->src, route->dst, route->gw_src, route->gw_dst, route->link_list,
route->symmetrical);
}
-void sg_platf_new_bypassRoute(sg_platf_route_cbarg_t bypassRoute)
+void sg_platf_new_bypassRoute(RouteCreationArgs* bypassRoute)
{
routing_get_current()->addBypassRoute(bypassRoute->src, bypassRoute->dst, bypassRoute->gw_src, bypassRoute->gw_dst,
bypassRoute->link_list, bypassRoute->symmetrical);
std::string msg = std::string("Cannot create actor '") + actor->function + "': host '" + actor->host +
"' does not exist\nExisting hosts: '";
- std::vector<simgrid::s4u::Host*> list;
- simgrid::s4u::Engine::getInstance()->getHostList(&list);
+ std::vector<simgrid::s4u::Host*> list = simgrid::s4u::Engine::getInstance()->getAllHosts();
for (auto const& host : list) {
msg += host->getName();
xbt_assert(linkUp, "Link '%s' not found!", hostlink->link_up.c_str());
xbt_assert(linkDown, "Link '%s' not found!", hostlink->link_down.c_str());
- auto as_cluster = static_cast<simgrid::kernel::routing::ClusterZone*>(current_routing);
+ auto* as_cluster = static_cast<simgrid::kernel::routing::ClusterZone*>(current_routing);
if (as_cluster->privateLinks_.find(netpoint->id()) != as_cluster->privateLinks_.end())
surf_parse_error(std::string("Host_link for '") + hostlink->id.c_str() + "' is already defined!");