Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
refactoring SMPI trace initialization
[simgrid.git] / src / s4u / s4u_Host.cpp
index b66f81a..e5edd61 100644 (file)
@@ -174,12 +174,17 @@ NetZone* Host::get_englobing_zone()
   return pimpl_netpoint_->get_englobing_zone()->get_iface();
 }
 
-void Host::send_to(Host* dest, double byte_amount)
+void Host::sendto(Host* dest, double byte_amount)
+{
+  sendto_async(dest, byte_amount)->wait();
+}
+
+ActivityPtr Host::sendto_async(Host* dest, double byte_amount)
 {
   std::vector<Host*> m_host_list   = {this, dest};
   std::vector<double> flops_amount = {0, 0};
   std::vector<double> bytes_amount = {0, byte_amount, 0, 0};
-  this_actor::parallel_execute(m_host_list, flops_amount, bytes_amount);
+  return this_actor::exec_init(m_host_list, flops_amount, bytes_amount)->start();
 }
 
 /** Get the properties assigned to a host */
@@ -282,9 +287,10 @@ std::vector<const char*> Host::get_attached_storages() const
 
 std::unordered_map<std::string, Storage*> const& Host::get_mounted_storages()
 {
-  if (mounts_ == nullptr)
-    mounts_ = pimpl_->get_mounted_storages();
-
+  kernel::actor::simcall([this] {
+    if (mounts_ == nullptr)
+      mounts_ = pimpl_->get_mounted_storages();
+  });
   return *mounts_;
 }
 
@@ -344,7 +350,7 @@ sg_host_t sg_host_by_name(const char* name)
   return simgrid::s4u::Host::by_name_or_null(name);
 }
 
-xbt_dynar_t sg_hosts_as_dynar()
+xbt_dynar_t sg_hosts_as_dynar() // XBT_ATTRIB_DEPRECATED_v330
 {
   std::vector<simgrid::s4u::Host*> list = simgrid::s4u::Engine::get_instance()->get_all_hosts();
 
@@ -384,7 +390,7 @@ void sg_host_user_destroy(sg_host_t host) // deprecated
 }
 
 // ========= storage related functions ============
-void sg_host_disks(sg_host_t host, unsigned int* disk_count, sg_disk_t** disks)
+void sg_host_disks(const_sg_host_t host, unsigned int* disk_count, sg_disk_t** disks)
 {
   std::vector<sg_disk_t> list = host->get_disks();
   *disk_count                 = list.size();
@@ -591,9 +597,9 @@ double sg_host_route_bandwidth(const_sg_host_t from, const_sg_host_t to)
   return min_bandwidth;
 }
 
-void sg_host_send_to(sg_host_t from, sg_host_t to, double byte_amount)
+void sg_host_sendto(sg_host_t from, sg_host_t to, double byte_amount)
 {
-  from->send_to(to, byte_amount);
+  from->sendto(to, byte_amount);
 }
 
 /** @brief Displays debugging information about a host */