X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ecd5f7562caf1d443bf22788fa5f4fac408776ec..c1139d8e995d20f3afebc6cb69c66c155348dbdd:/src/surf/StorageImpl.cpp diff --git a/src/surf/StorageImpl.cpp b/src/surf/StorageImpl.cpp index 6b79856682..56ad247a9a 100644 --- a/src/surf/StorageImpl.cpp +++ b/src/surf/StorageImpl.cpp @@ -1,11 +1,12 @@ -/* Copyright (c) 2013-2017. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include "StorageImpl.hpp" -#include "surf/maxmin.hpp" +#include "simgrid/s4u/Engine.hpp" +#include "src/kernel/EngineImpl.hpp" +#include "src/kernel/lmm/maxmin.hpp" #include "surf_private.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_storage, surf, "Logging specific to the SURF storage module"); @@ -22,18 +23,8 @@ namespace surf { simgrid::xbt::signal storageCreatedCallbacks; simgrid::xbt::signal storageDestructedCallbacks; simgrid::xbt::signal storageStateChangedCallbacks; // signature: wasOn, isOn -simgrid::xbt::signal storageActionStateChangedCallbacks; - -/* List of storages */ -std::unordered_map* StorageImpl::storages = - new std::unordered_map(); - -StorageImpl* StorageImpl::byName(std::string name) -{ - if (storages->find(name) == storages->end()) - return nullptr; - return storages->at(name); -} +simgrid::xbt::signal + storageActionStateChangedCallbacks; /********* * Model * @@ -41,12 +32,11 @@ StorageImpl* StorageImpl::byName(std::string name) StorageModel::StorageModel() : Model() { - maxminSystem_ = new s_lmm_system_t(true /* lazy update */); + maxmin_system_ = new simgrid::kernel::lmm::System(true /* selective update */); } StorageModel::~StorageModel() { - delete maxminSystem_; surf_storage_model = nullptr; } @@ -54,10 +44,11 @@ StorageModel::~StorageModel() * Resource * ************/ -StorageImpl::StorageImpl(Model* model, std::string name, lmm_system_t maxminSystem, double bread, double bwrite, - std::string type_id, std::string content_name, sg_size_t size, std::string attach) +StorageImpl::StorageImpl(kernel::resource::Model* model, std::string name, lmm_system_t maxminSystem, double bread, + double bwrite, std::string type_id, std::string content_name, sg_size_t size, + std::string attach) : Resource(model, name.c_str(), maxminSystem->constraint_new(this, std::max(bread, bwrite))) - , piface_(this) + , piface_(name, this) , typeId_(type_id) , content_name(content_name) , size_(size) @@ -67,7 +58,6 @@ StorageImpl::StorageImpl(Model* model, std::string name, lmm_system_t maxminSyst XBT_DEBUG("Create resource with Bread '%f' Bwrite '%f' and Size '%llu'", bread, bwrite, size); constraintRead_ = maxminSystem->constraint_new(this, bread); constraintWrite_ = maxminSystem->constraint_new(this, bwrite); - storages->insert({name, this}); } StorageImpl::~StorageImpl() @@ -75,7 +65,6 @@ StorageImpl::~StorageImpl() storageDestructedCallbacks(this); } - bool StorageImpl::isUsed() { THROW_UNIMPLEMENTED;