Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove some direct accesses to pimpl_cpu
[simgrid.git] / src / surf / sg_platf.cpp
index 67a3538..2359340 100644 (file)
@@ -87,11 +87,11 @@ void sg_platf_new_host(simgrid::kernel::routing::HostCreationArgs* args)
 
   /* Change from the defaults */
   if (args->state_trace)
-    host->pimpl_cpu->set_state_profile(args->state_trace);
+    host->set_state_profile(args->state_trace);
   if (args->speed_trace)
-    host->pimpl_cpu->set_speed_profile(args->speed_trace);
+    host->set_speed_profile(args->speed_trace);
   if (args->pstate != 0)
-    host->pimpl_cpu->set_pstate(args->pstate);
+    host->set_pstate(args->pstate);
   if (not args->coord.empty())
     new simgrid::kernel::routing::vivaldi::Coords(host->pimpl_netpoint, args->coord);
 }
@@ -507,9 +507,9 @@ void sg_platf_new_peer(simgrid::kernel::routing::PeerCreationArgs* peer)
 
   /* Change from the defaults */
   if (peer->state_trace)
-    host->pimpl_cpu->set_state_profile(peer->state_trace);
+    host->set_state_profile(peer->state_trace);
   if (peer->speed_trace)
-    host->pimpl_cpu->set_speed_profile(peer->speed_trace);
+    host->set_speed_profile(peer->speed_trace);
 }
 
 /* Pick the right models for CPU, net and host, and call their model_init_preparse */
@@ -642,6 +642,14 @@ simgrid::kernel::routing::NetZoneImpl* sg_platf_new_Zone_begin(simgrid::kernel::
   return new_zone;
 }
 
+void sg_platf_new_Zone_set_properties(std::unordered_map<std::string, std::string>* props)
+{
+  xbt_assert(current_routing, "Cannot set properties of the current Zone: none under construction");
+
+  for (auto kv = props->begin(); kv != props->end(); ++kv)
+    current_routing->get_iface()->set_property(kv->first, kv->second);
+}
+
 /**
  * @brief Specify that the description of the current AS is finished
  *