Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove features marked with DEPRECATED_v322.
[simgrid.git] / include / simgrid / s4u / Storage.hpp
index 1b1bb5d..7559611 100644 (file)
@@ -7,6 +7,7 @@
 #define INCLUDE_SIMGRID_S4U_STORAGE_HPP_
 
 #include <simgrid/forward.h>
+#include <simgrid/s4u/Io.hpp>
 #include <xbt/Extendable.hpp>
 #include <xbt/base.h>
 #include <xbt/signal.hpp>
 #include <unordered_map>
 
 namespace simgrid {
-namespace xbt {
-extern template class XBT_PUBLIC Extendable<simgrid::s4u::Storage>;
-}
 namespace s4u {
 
-/** @deprecated Engine::get_all_storages() */
-XBT_ATTRIB_DEPRECATED_v322("Please use Engine::get_all_storages()") XBT_PUBLIC void getStorageList(std::map<std::string, Storage*>* whereTo);
+/** Storage represent the disk resources, usually associated to a given host
+ *
+ * By default, SimGrid does not keep track of the actual data being written but
+ * only computes the time taken by the corresponding data movement.
+ */
 
 class XBT_PUBLIC Storage : public simgrid::xbt::Extendable<Storage> {
-  friend s4u::Engine;
-  friend s4u::Io;
+  friend simgrid::s4u::Engine;
+  friend simgrid::s4u::Io;
   friend simgrid::surf::StorageImpl;
 
 public:
@@ -62,9 +63,12 @@ public:
   void set_data(void* data) { userdata_ = data; }
   void* get_data() { return userdata_; }
 
-  IoPtr io_init(sg_size_t size);
+  IoPtr io_init(sg_size_t size, s4u::Io::OpType type);
 
+  IoPtr read_async(sg_size_t size);
   sg_size_t read(sg_size_t size);
+
+  IoPtr write_async(sg_size_t size);
   sg_size_t write(sg_size_t size);
   surf::StorageImpl* get_impl() { return pimpl_; }