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);
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_; }
/** @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);