Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
surf_disk_model: remove it.
[simgrid.git] / include / simgrid / kernel / routing / NetZoneImpl.hpp
index c9b6ea9..eed458f 100644 (file)
@@ -73,6 +73,7 @@ class XBT_PUBLIC NetZoneImpl : public xbt::PropertyHolder {
   resource::NetworkModel* network_model_;
   resource::CpuModel* cpu_model_vm_;
   resource::CpuModel* cpu_model_pm_;
+  resource::DiskModel* disk_model_;
 
 protected:
   explicit NetZoneImpl(NetZoneImpl* father, const std::string& name, resource::NetworkModel* network_model);
@@ -110,6 +111,8 @@ public:
   resource::CpuModel* get_cpu_vm_model() const { return cpu_model_vm_; }
   /** @brief Retrieves the CPU model for physical machines associated to this NetZone */
   resource::CpuModel* get_cpu_pm_model() const { return cpu_model_pm_; }
+  /** @brief Retrieves the disk model associated to this NetZone */
+  resource::DiskModel* get_disk_model() const { return disk_model_; }
 
   const s4u::NetZone* get_iface() const { return &piface_; }
   s4u::NetZone* get_iface() { return &piface_; }
@@ -129,6 +132,8 @@ public:
 
   /** @brief Make a host within that NetZone */
   s4u::Host* create_host(const std::string& name, const std::vector<double>& speed_per_pstate, int core_amount);
+  /** @brief Create a disk with the disk model from this NetZone */
+  s4u::Disk* create_disk(const std::string& name, double read_bandwidth, double write_bandwidth);
   /** @brief Make a link within that NetZone */
   virtual s4u::Link* create_link(const std::string& name, const std::vector<double>& bandwidths,
                                  s4u::Link::SharingPolicy policy);