#include <xbt/signal.hpp>
#include "simgrid/s4u/Storage.hpp"
+#include "src/kernel/model/Resource.hpp"
#include "src/surf/PropertyHolder.hpp"
#include "surf_interface.hpp"
#include <map>
* @brief SURF storage interface class
* @details A Storage represent a storage unit (e.g.: hard drive, usb key)
*/
-class StorageImpl : public Resource, public PropertyHolder {
+class StorageImpl : public kernel::resource::Resource, public PropertyHolder {
public:
/** @brief Storage constructor */
StorageImpl(Model* model, std::string name, lmm_system_t maxminSystem, double bread, double bwrite,
* @return The StorageAction corresponding to the writing
*/
virtual StorageAction* write(sg_size_t size) = 0;
- virtual sg_size_t getSize() { return size_; }
virtual std::string getHost() { return attach_; }
static std::unordered_map<std::string, StorageImpl*>* storagesMap() { return StorageImpl::storages; }
- lmm_constraint_t constraintWrite_; /* Constraint for maximum write bandwidth*/
- lmm_constraint_t constraintRead_; /* Constraint for maximum write bandwidth*/
+ kernel::lmm::Constraint* constraintWrite_; /* Constraint for maximum write bandwidth*/
+ kernel::lmm::Constraint* constraintRead_; /* Constraint for maximum write bandwidth*/
std::string typeId_;
- sg_size_t usedSize_ = 0;
- std::string content_name;
+ std::string content_name; // Only used at parsing time then goes to the FileSystemExtension
+ sg_size_t size_; // Only used at parsing time then goes to the FileSystemExtension
private:
- sg_size_t size_;
static std::unordered_map<std::string, StorageImpl*>* storages;
// Name of the host to which this storage is attached. Only used at platform parsing time, then the interface stores
// the Host directly.
* @param storage The Storage associated to this StorageAction
* @param type [description]
*/
- StorageAction(Model* model, double cost, bool failed, lmm_variable_t var, StorageImpl* storage,
+ StorageAction(Model* model, double cost, bool failed, kernel::lmm::Variable* var, StorageImpl* storage,
e_surf_action_storage_type_t type)
: Action(model, cost, failed, var), type_(type), storage_(storage){};