]> AND Public Git Repository - simgrid.git/blobdiff - src/kernel/resource/DiskImpl.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
const again
[simgrid.git] / src / kernel / resource / DiskImpl.hpp
index d536e0e8c2e3298df661dfef5cf6f7ac6011a5eb..db59a0baa4af81dc29ab6791d70f605998c87cff 100644 (file)
@@ -39,7 +39,7 @@ public:
   DiskModel();
   DiskModel(const DiskModel&) = delete;
   DiskModel& operator=(const DiskModel&) = delete;
-  ~DiskModel();
+  ~DiskModel() override;
 
   virtual DiskImpl* createDisk(const std::string& id, double read_bw, double write_bw) = 0;
 };
@@ -53,6 +53,8 @@ class DiskImpl : public Resource, public xbt::PropertyHolder {
   s4u::Disk piface_;
   double read_bw_;
   double write_bw_;
+  lmm::Constraint* constraint_write_; /* Constraint for maximum write bandwidth*/
+  lmm::Constraint* constraint_read_;  /* Constraint for maximum write bandwidth*/
 
 public:
   DiskImpl(Model* model, const std::string& name, kernel::lmm::System* maxmin_system, double read_bw, double bwrite_bw);
@@ -62,28 +64,26 @@ public:
   ~DiskImpl() override;
 
   /** @brief Public interface */
+  const s4u::Disk* get_iface() const { return &piface_; }
   s4u::Disk* get_iface() { return &piface_; }
-  double get_read_bandwidth() { return read_bw_; }
-  double get_write_bandwidth() { return write_bw_; }
+  s4u::Host* get_host() const { return host_; }
+  void set_host(s4u::Host* host) { host_ = host; }
 
-  /** @brief Check if the Storage is used (if an action currently uses its resources) */
-  bool is_used() override;
+  double get_read_bandwidth() const { return read_bw_; }
+  double get_write_bandwidth() const { return write_bw_; }
+  lmm::Constraint* get_read_constraint() const { return constraint_read_; }
+  lmm::Constraint* get_write_constraint() const { return constraint_write_; }
 
+  /** @brief Check if the Storage is used (if an action currently uses its resources) */
+  bool is_used() const override;
   void apply_event(profile::Event* event, double value) override;
-
   void turn_on() override;
   void turn_off() override;
 
-  s4u::Host* get_host() const { 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;
   virtual DiskAction* write(sg_size_t size)                          = 0;
-
-  lmm::Constraint* constraint_write_; /* Constraint for maximum write bandwidth*/
-  lmm::Constraint* constraint_read_;  /* Constraint for maximum write bandwidth*/
 };
 
 /**********