Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use const& for std::string parameter (sonar, again).
[simgrid.git] / src / kernel / resource / DiskImpl.cpp
index 7522229..f44e3ff 100644 (file)
@@ -11,8 +11,6 @@
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(res_disk, ker_resource, "Disk resources, fuelling I/O activities");
 
-simgrid::kernel::resource::DiskModel* surf_disk_model = nullptr;
-
 namespace simgrid {
 namespace kernel {
 namespace resource {
@@ -21,14 +19,9 @@ namespace resource {
  * Model *
  *********/
 
-DiskModel::DiskModel() : Model(Model::UpdateAlgo::FULL)
-{
-  set_maxmin_system(new simgrid::kernel::lmm::System(true /* selective update */));
-}
-
-DiskModel::~DiskModel()
+DiskModel::DiskModel(const std::string& name) : Model(name)
 {
-  surf_disk_model = nullptr;
+  set_maxmin_system(new lmm::System(true /* selective update */));
 }
 
 /************
@@ -101,6 +94,7 @@ void DiskImpl::turn_off()
 
 void DiskImpl::seal()
 {
+  xbt_assert(this->get_model(), "Cannot seal Disk (%s) without setting the model first", this->get_cname());
   lmm::System* maxmin_system = get_model()->get_maxmin_system();
   this->set_read_constraint(maxmin_system->constraint_new(this, read_bw_))
       ->set_write_constraint(maxmin_system->constraint_new(this, write_bw_))