Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'xbt_random' into 'master'
[simgrid.git] / src / kernel / resource / DiskImpl.hpp
index 8645dd0..c25b0a2 100644 (file)
@@ -6,6 +6,7 @@
 #include "simgrid/kernel/resource/Action.hpp"
 #include "simgrid/kernel/resource/Model.hpp"
 #include "simgrid/kernel/resource/Resource.hpp"
+#include "simgrid/s4u/Disk.hpp"
 #include "simgrid/s4u/Io.hpp"
 #include "src/surf/PropertyHolder.hpp"
 #include "src/surf/surf_interface.hpp"
@@ -48,6 +49,8 @@ public:
  ************/
 class DiskImpl : public Resource, public surf::PropertyHolder {
   bool currently_destroying_ = false;
+  s4u::Host* host_           = nullptr;
+  s4u::Disk piface_;
 
 public:
   DiskImpl(Model* model, const std::string& name, kernel::lmm::System* maxmin_system, double read_bw, double bwrite_bw);
@@ -57,8 +60,7 @@ public:
   ~DiskImpl() override;
 
   /** @brief Public interface */
-  // FIXME s4u::Storage piface_;
-
+  s4u::Disk* get_iface() { return &piface_; }
   /** @brief Check if the Storage is used (if an action currently uses its resources) */
   bool is_used() override;
 
@@ -67,6 +69,9 @@ public:
   void turn_on() override;
   void turn_off() override;
 
+  s4u::Host* get_host() { return host_; }
+  void set_host(s4u::Host* host) { host_ = host; }
+
   void destroy(); // Must be called instead of the destructor
   virtual DiskAction* io_start(sg_size_t size, s4u::Io::OpType type) = 0;
   virtual DiskAction* read(sg_size_t size)                           = 0;