Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Const in s4u::Disk.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 2 Apr 2021 12:46:22 +0000 (14:46 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 2 Apr 2021 19:26:30 +0000 (21:26 +0200)
docs/source/app_s4u.rst
examples/cpp/io-async/s4u-io-async.cpp
examples/cpp/io-disk-raw/s4u-io-disk-raw.cpp
include/simgrid/disk.h
include/simgrid/plugins/file_system.h
include/simgrid/s4u/Disk.hpp
src/plugins/file_system/s4u_FileSystem.cpp
src/s4u/s4u_Disk.cpp
teshsuite/s4u/concurrent_rw/concurrent_rw.cpp

index 8b50a25..42bc82c 100644 (file)
@@ -1109,11 +1109,11 @@ I/O operations
 
    .. group-tab:: C++
 
-      .. doxygenfunction:: simgrid::s4u::Disk::io_init(sg_size_t size, s4u::Io::OpType type)
-      .. doxygenfunction:: simgrid::s4u::Disk::read(sg_size_t size)
-      .. doxygenfunction:: simgrid::s4u::Disk::read_async(sg_size_t size)
-      .. doxygenfunction:: simgrid::s4u::Disk::write(sg_size_t size)
-      .. doxygenfunction:: simgrid::s4u::Disk::write_async(sg_size_t size)
+      .. doxygenfunction:: simgrid::s4u::Disk::io_init(sg_size_t size, s4u::Io::OpType type) const
+      .. doxygenfunction:: simgrid::s4u::Disk::read(sg_size_t size) const
+      .. doxygenfunction:: simgrid::s4u::Disk::read_async(sg_size_t size) const
+      .. doxygenfunction:: simgrid::s4u::Disk::write(sg_size_t size) const
+      .. doxygenfunction:: simgrid::s4u::Disk::write_async(sg_size_t size) const
 
 Signals
 -------
index ac72b84..67ee0b9 100644 (file)
@@ -9,7 +9,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this s4u example")
 
 static void test(sg_size_t size)
 {
-  simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
+  const simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
   XBT_INFO("Hello! read %llu bytes from %s", size, disk->get_cname());
 
   simgrid::s4u::IoPtr activity = disk->io_init(size, simgrid::s4u::Io::OpType::READ);
@@ -21,7 +21,7 @@ static void test(sg_size_t size)
 
 static void test_waitfor(sg_size_t size)
 {
-  simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
+  const simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
   XBT_INFO("Hello! write %llu bytes from %s", size, disk->get_cname());
 
   simgrid::s4u::IoPtr activity = disk->write_async(size);
@@ -36,7 +36,7 @@ static void test_waitfor(sg_size_t size)
 
 static void test_cancel(sg_size_t size)
 {
-  simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
+  const simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
   simgrid::s4u::this_actor::sleep_for(0.5);
   XBT_INFO("Hello! write %llu bytes from %s", size, disk->get_cname());
 
@@ -50,7 +50,7 @@ static void test_cancel(sg_size_t size)
 
 static void test_monitor(sg_size_t size)
 {
-  simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
+  const simgrid::s4u::Disk* disk = simgrid::s4u::Host::current()->get_disks().front();
   simgrid::s4u::this_actor::sleep_for(1);
   simgrid::s4u::IoPtr activity = disk->write_async(size);
 
index 8d05ad6..8bd9564 100644 (file)
@@ -35,8 +35,8 @@ static void host()
   XBT_INFO("Read %llu bytes on '%s'", read, disk->get_cname());
 
   /* - Write 800,000 bytes on Disk3 */
-  simgrid::s4u::Disk* disk3 = disk_list.back();
-  sg_size_t write_on_disk3  = disk3->write(800000);
+  const simgrid::s4u::Disk* disk3 = disk_list.back();
+  sg_size_t write_on_disk3        = disk3->write(800000);
   XBT_INFO("Wrote %llu bytes on '%s'", write_on_disk3, disk3->get_cname());
 
   /* - Attach some user data to disk1 */
index e115609..7418f18 100644 (file)
@@ -15,8 +15,8 @@ XBT_PUBLIC const char* sg_disk_get_name(const_sg_disk_t disk);
 XBT_PUBLIC sg_host_t sg_disk_get_host(const_sg_disk_t disk);
 XBT_PUBLIC double sg_disk_read_bandwidth(const_sg_disk_t disk);
 XBT_PUBLIC double sg_disk_write_bandwidth(const_sg_disk_t disk);
-XBT_PUBLIC sg_size_t sg_disk_write(sg_disk_t disk, sg_size_t size);
-XBT_PUBLIC sg_size_t sg_disk_read(sg_disk_t disk, sg_size_t size);
+XBT_PUBLIC sg_size_t sg_disk_write(const_sg_disk_t disk, sg_size_t size);
+XBT_PUBLIC sg_size_t sg_disk_read(const_sg_disk_t disk, sg_size_t size);
 XBT_PUBLIC void* sg_disk_get_data(const_sg_disk_t disk);
 XBT_PUBLIC void sg_disk_set_data(sg_disk_t disk, void* data);
 SG_END_DECL
index dbb6d54..d3bcd84 100644 (file)
@@ -96,10 +96,10 @@ class XBT_PUBLIC File : public xbt::Extendable<File> {
   std::string fullpath_;
   sg_size_t current_position_ = SEEK_SET;
   int desc_id                 = 0;
-  Disk* local_disk_           = nullptr;
+  const Disk* local_disk_     = nullptr;
   std::string mount_point_;
 
-  Disk* find_local_disk_on(const Host* host);
+  const Disk* find_local_disk_on(const Host* host);
 
 public:
   File(const std::string& fullpath, void* userdata);
index 9d332e4..0d051c8 100644 (file)
@@ -71,13 +71,13 @@ public:
   Disk* set_host(Host* host);
   Host* get_host() const;
 
-  IoPtr io_init(sg_size_t size, s4u::Io::OpType type);
+  IoPtr io_init(sg_size_t size, s4u::Io::OpType type) const;
 
-  IoPtr read_async(sg_size_t size);
-  sg_size_t read(sg_size_t size);
+  IoPtr read_async(sg_size_t size) const;
+  sg_size_t read(sg_size_t size) const;
 
-  IoPtr write_async(sg_size_t size);
-  sg_size_t write(sg_size_t size);
+  IoPtr write_async(sg_size_t size) const;
+  sg_size_t write(sg_size_t size) const;
   void seal();
 
 #ifndef DOXYGEN
index 1807a0d..bfa07cc 100644 (file)
@@ -37,9 +37,9 @@ namespace s4u {
 simgrid::xbt::Extension<Disk, FileSystemDiskExt> FileSystemDiskExt::EXTENSION_ID;
 simgrid::xbt::Extension<Host, FileDescriptorHostExt> FileDescriptorHostExt::EXTENSION_ID;
 
-Disk* File::find_local_disk_on(const Host* host)
+const Disk* File::find_local_disk_on(const Host* host)
 {
-  Disk* d                      = nullptr;
+  const Disk* d                = nullptr;
   size_t longest_prefix_length = 0;
   for (auto const& disk : host->get_disks()) {
     std::string current_mount;
index 3c7334d..07c2012 100644 (file)
@@ -74,27 +74,27 @@ void Disk::set_property(const std::string& key, const std::string& value)
   kernel::actor::simcall([this, &key, &value] { this->pimpl_->set_property(key, value); });
 }
 
-IoPtr Disk::io_init(sg_size_t size, Io::OpType type)
+IoPtr Disk::io_init(sg_size_t size, Io::OpType type) const
 {
   return Io::init()->set_disk(this)->set_size(size)->set_op_type(type);
 }
 
-IoPtr Disk::read_async(sg_size_t size)
+IoPtr Disk::read_async(sg_size_t size) const
 {
   return IoPtr(io_init(size, Io::OpType::READ))->vetoable_start();
 }
 
-sg_size_t Disk::read(sg_size_t size)
+sg_size_t Disk::read(sg_size_t size) const
 {
   return IoPtr(io_init(size, Io::OpType::READ))->vetoable_start()->wait()->get_performed_ioops();
 }
 
-IoPtr Disk::write_async(sg_size_t size)
+IoPtr Disk::write_async(sg_size_t size) const
 {
   return IoPtr(io_init(size, Io::OpType::WRITE)->vetoable_start());
 }
 
-sg_size_t Disk::write(sg_size_t size)
+sg_size_t Disk::write(sg_size_t size) const
 {
   return IoPtr(io_init(size, Io::OpType::WRITE))->vetoable_start()->wait()->get_performed_ioops();
 }
@@ -130,11 +130,11 @@ double sg_disk_write_bandwidth(const_sg_disk_t disk)
   return disk->get_write_bandwidth();
 }
 
-sg_size_t sg_disk_read(sg_disk_t disk, sg_size_t size)
+sg_size_t sg_disk_read(const_sg_disk_t disk, sg_size_t size)
 {
   return disk->read(size);
 }
-sg_size_t sg_disk_write(sg_disk_t disk, sg_size_t size)
+sg_size_t sg_disk_write(const_sg_disk_t disk, sg_size_t size)
 {
   return disk->write(size);
 }
index c5e1fec..ee7b828 100644 (file)
@@ -9,8 +9,8 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this s4u test");
 
 static void host()
 {
-  simgrid::s4u::Disk* disk = simgrid::s4u::this_actor::get_host()->get_disks().front(); // Disk1
-  aid_t id                 = simgrid::s4u::this_actor::get_pid();
+  const simgrid::s4u::Disk* disk = simgrid::s4u::this_actor::get_host()->get_disks().front(); // Disk1
+  aid_t id                       = simgrid::s4u::this_actor::get_pid();
   XBT_INFO("process %ld is writing!", id);
   disk->write(4000000);
   XBT_INFO("process %ld goes to sleep for %ld seconds", id, id);