Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'xbt_random' into 'master'
[simgrid.git] / src / s4u / s4u_Host.cpp
index 305a573..c2e0169 100644 (file)
@@ -9,7 +9,6 @@
 #include "simgrid/s4u/Exec.hpp"
 #include "simgrid/s4u/VirtualMachine.hpp"
 #include "src/plugins/vm/VirtualMachineImpl.hpp"
-#include "src/simix/smx_private.hpp"
 #include "src/surf/HostImpl.hpp"
 
 #include <algorithm>
@@ -155,7 +154,7 @@ void Host::route_to(Host* dest, std::vector<Link*>& links, double* latency)
   std::vector<kernel::resource::LinkImpl*> linkImpls;
   this->route_to(dest, linkImpls, latency);
   for (kernel::resource::LinkImpl* const& l : linkImpls)
-    links.push_back(&l->piface_);
+    links.push_back(l->get_iface());
 }
 
 /** @brief Just like Host::routeTo, but filling an array of link implementations */
@@ -312,7 +311,7 @@ std::unordered_map<std::string, Storage*> const& Host::get_mounted_storages()
   if (mounts_ == nullptr) {
     mounts_ = new std::unordered_map<std::string, Storage*>();
     for (auto const& m : this->pimpl_->storage_) {
-      mounts_->insert({m.first, &m.second->piface_});
+      mounts_->insert({m.first, m.second->get_iface()});
     }
   }
   return *mounts_;
@@ -429,7 +428,7 @@ xbt_dict_t sg_host_get_mounted_storage_list(sg_host_t host)
   for (auto const& elm : host->get_mounted_storages()) {
     const char* mount_name = elm.first.c_str();
     sg_storage_t storage   = elm.second;
-    xbt_dict_set(res, mount_name, (void*)storage->get_cname(), nullptr);
+    xbt_dict_set(res, mount_name, (void*)storage->get_cname());
   }
 
   return res;
@@ -551,7 +550,7 @@ xbt_dict_t sg_host_get_properties(sg_host_t host)
   if (props == nullptr)
     return nullptr;
   for (auto const& elm : *props) {
-    xbt_dict_set(as_dict, elm.first.c_str(), xbt_strdup(elm.second.c_str()), nullptr);
+    xbt_dict_set(as_dict, elm.first.c_str(), xbt_strdup(elm.second.c_str()));
   }
   return as_dict;
 }
@@ -655,18 +654,13 @@ void sg_host_get_actor_list(sg_host_t host, xbt_dynar_t whereto)
 
 sg_host_t sg_host_self()
 {
-  simgrid::kernel::actor::ActorImpl* self = SIMIX_process_self();
-  return (self == nullptr) ? nullptr : self->get_host();
+  return SIMIX_is_maestro() ? nullptr : SIMIX_process_self()->get_host();
 }
 
 /* needs to be public and without simcall for exceptions and logging events */
 const char* sg_host_self_get_name()
 {
-  sg_host_t host = sg_host_self();
-  if (host == nullptr || SIMIX_process_self() == simix_global->maestro_process)
-    return "";
-
-  return host->get_cname();
+  return SIMIX_is_maestro() ? "" : SIMIX_process_self()->get_host()->get_cname();
 }
 
 double sg_host_load(sg_host_t host)