Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / teshsuite / s4u / storage_client_server / storage_client_server.cpp
index 55554e4..8170ff0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2013-2023. 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. */
@@ -17,8 +17,8 @@ static void display_disk_properties(const simgrid::s4u::Disk* disk)
   if (not props->empty()) {
     XBT_INFO("  Properties of disk: %s", disk->get_cname());
 
-    for (auto const& elm : *props) {
-      XBT_INFO("    %s->%s", elm.first.c_str(), elm.second.c_str());
+    for (auto const& [key, value] : *props) {
+      XBT_INFO("    %s->%s", key.c_str(), value.c_str());
     }
   } else {
     XBT_INFO("  No property attached.");
@@ -27,19 +27,21 @@ static void display_disk_properties(const simgrid::s4u::Disk* disk)
 
 static sg_size_t write_local_file(const std::string& dest, sg_size_t file_size)
 {
-  simgrid::s4u::File file(dest, nullptr);
-  sg_size_t written = file.write(file_size);
+  auto* file        = simgrid::s4u::File::open(dest, nullptr);
+  sg_size_t written = file->write(file_size);
   XBT_INFO("%llu bytes on %llu bytes have been written by %s on /sd1", written, file_size,
            simgrid::s4u::Actor::self()->get_cname());
+  file->close();
   return written;
 }
 
 static sg_size_t read_local_file(const std::string& src)
 {
-  simgrid::s4u::File file(src, nullptr);
-  sg_size_t file_size = file.size();
-  sg_size_t read      = file.read(file_size);
+  auto* file          = simgrid::s4u::File::open(src, nullptr);
+  sg_size_t file_size = file->size();
+  sg_size_t read      = file->read(file_size);
   XBT_INFO("%s has read %llu on %s", simgrid::s4u::Actor::self()->get_cname(), read, src.c_str());
+  file->close();
   return read;
 }
 
@@ -63,8 +65,8 @@ static void display_disk_content(const simgrid::s4u::Disk* disk)
   XBT_INFO("Print the content of the disk: %s", disk->get_cname());
   const auto* content = disk->extension<simgrid::s4u::FileSystemDiskExt>()->get_content();
   if (not content->empty()) {
-    for (auto const& entry : *content)
-      XBT_INFO("  %s size: %llu bytes", entry.first.c_str(), entry.second);
+    for (auto const& [name, size] : *content)
+      XBT_INFO("  %s size: %llu bytes", name.c_str(), size);
   } else {
     XBT_INFO("  No content.");
   }
@@ -74,18 +76,17 @@ static void get_set_disk_data(simgrid::s4u::Disk* disk)
 {
   XBT_INFO("*** GET/SET DATA for disk: %s ***", disk->get_cname());
 
-  const std::string* data = static_cast<std::string*>(disk->get_data());
+  auto data = disk->get_unique_data<std::string>();
   XBT_INFO("Get data: '%s'", data ? data->c_str() : "No User Data");
   disk->set_data(new std::string("Some data"));
-  data = static_cast<std::string*>(disk->get_data());
+  data = disk->get_unique_data<std::string>();
   XBT_INFO("  Set and get data: '%s'", data->c_str());
-  delete data;
 }
 
 static void dump_platform_disks()
 {
-  for (auto const& h : simgrid::s4u::Engine::get_instance()->get_all_hosts())
-    for (auto const& d : h->get_disks()) {
+  for (auto const* h : simgrid::s4u::Engine::get_instance()->get_all_hosts())
+    for (auto* d : h->get_disks()) {
       if (h == d->get_host())
         XBT_INFO("%s is attached to %s", d->get_cname(), d->get_host()->get_cname());
       d->set_property("other usage", "gpfs");
@@ -96,7 +97,7 @@ static void disk_info(const simgrid::s4u::Host* host)
 {
   XBT_INFO("*** Disk info on %s ***", host->get_cname());
 
-  for (auto const& disk : host->get_disks()) {
+  for (auto const* disk : host->get_disks()) {
     const char* mount_name = sg_disk_get_mount_point(disk);
     XBT_INFO("  Disk name: %s, mount name: %s", disk->get_cname(), mount_name);