Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change the way IO activities are initiated
[simgrid.git] / include / simgrid / s4u / Io.hpp
index 90e4e92..a4ae965 100644 (file)
@@ -29,8 +29,7 @@ private:
   sg_size_t size_   = 0;
   OpType type_      = OpType::READ;
 
-  explicit Io(sg_storage_t storage, sg_size_t size, OpType type);
-  explicit Io(sg_disk_t disk, sg_size_t size, OpType type);
+  Io();
 
 public:
 #ifndef DOXYGEN
@@ -43,6 +42,7 @@ public:
   static xbt::signal<void(Io const&)> on_start;
   static xbt::signal<void(Io const&)> on_completion;
 
+  static IoPtr init();
   Io* start() override;
   Io* wait() override;
   Io* wait_for(double timeout) override;
@@ -50,6 +50,10 @@ public:
 
   double get_remaining() const override;
   sg_size_t get_performed_ioops() const;
+  IoPtr set_disk(sg_disk_t disk);
+  IoPtr set_storage(sg_storage_t storage);
+  IoPtr set_size(sg_size_t size);
+  IoPtr set_op_type(OpType type);
 };
 
 } // namespace s4u