SimGrid
3.16
Versatile Simulation of Distributed Systems
|
SURF storage interface class.
A Storage represent a storage unit (e.g.: hard drive, usb key)
#include <StorageImpl.hpp>
Public Member Functions | |
StorageImpl (Model *model, const char *name, lmm_system_t maxminSystem, double bread, double bwrite, const char *type_id, const char *content_name, sg_size_t size, const char *attach) | |
Storage constructor. More... | |
~StorageImpl () override | |
bool | isUsed () override |
Check if the Storage is used (if an action currently uses its resources) More... | |
void | apply_event (tmgr_trace_event_t event, double value) override |
Apply an event of external load event to that resource. More... | |
void | turnOn () override |
Turn on the current Resource. More... | |
void | turnOff () override |
Turn off the current Resource. More... | |
virtual StorageAction * | open (const char *mount, const char *path)=0 |
Open a file. More... | |
virtual StorageAction * | close (surf_file_t fd)=0 |
Close a file. More... | |
virtual StorageAction * | read (surf_file_t fd, sg_size_t size)=0 |
Read a file. More... | |
virtual StorageAction * | write (surf_file_t fd, sg_size_t size)=0 |
Write a file. More... | |
virtual std::map< std::string, sg_size_t > * | getContent () |
Get the content of the current Storage. More... | |
virtual sg_size_t | getFreeSize () |
Get the available size in bytes of the current Storage. More... | |
virtual sg_size_t | getUsedSize () |
Get the used size in bytes of the current Storage. More... | |
std::map< std::string, sg_size_t > * | parseContent (const char *filename) |
![]() | |
Resource (Model *model, const char *name, lmm_constraint_t constraint) | |
Constructor of LMM Resources. More... | |
virtual | ~Resource () |
Model * | model () const |
Get the Model of the current Resource. More... | |
const char * | cname () const |
Get the name of the current Resource. More... | |
bool | operator== (const Resource &other) const |
virtual bool | isOn () const |
Check if the current Resource is active. More... | |
virtual bool | isOff () const |
Check if the current Resource is shut down. More... | |
lmm_constraint_t | constraint () const |
Get the lmm constraint associated to this Resource if it is part of a LMM component (or null if none) More... | |
![]() | |
PropertyHolder () | |
~PropertyHolder () | |
const char * | getProperty (const char *id) |
Return the property associated to the provided key (or nullptr if not existing) More... | |
void | setProperty (const char *id, const char *value) |
Change the value of a given key in the property set. More... | |
xbt_dict_t | getProperties () |
Return the whole set of properties. More... | |
Static Public Member Functions | |
static StorageImpl * | byName (const char *name) |
static std::unordered_map< std::string, StorageImpl * > * | storagesMap () |
Public Attributes | |
s4u::Storage | piface_ |
Public interface. More... | |
std::map< std::string, sg_size_t > * | content_ |
sg_size_t | size_ |
sg_size_t | usedSize_ |
std::string | typeId_ |
std::string | attach_ |
std::vector< StorageAction * > | writeActions_ |
lmm_constraint_t | constraintWrite_ |
lmm_constraint_t | constraintRead_ |
Static Public Attributes | |
static std::unordered_map< std::string, StorageImpl * > * | storages |
Additional Inherited Members | |
![]() | |
const lmm_constraint_t | constraint_ = nullptr |
simgrid::surf::StorageImpl::StorageImpl | ( | Model * | model, |
const char * | name, | ||
lmm_system_t | maxminSystem, | ||
double | bread, | ||
double | bwrite, | ||
const char * | type_id, | ||
const char * | content_name, | ||
sg_size_t | size, | ||
const char * | attach | ||
) |
Storage constructor.
|
override |
|
static |
|
overridevirtual |
Check if the Storage is used (if an action currently uses its resources)
Implements simgrid::surf::Resource.
|
overridevirtual |
Apply an event of external load event to that resource.
event | What happened |
value | [TODO] |
Implements simgrid::surf::Resource.
|
overridevirtual |
Turn on the current Resource.
Reimplemented from simgrid::surf::Resource.
|
overridevirtual |
Turn off the current Resource.
Reimplemented from simgrid::surf::Resource.
|
pure virtual |
Open a file.
mount | The mount point |
path | The path to the file |
Implemented in simgrid::surf::StorageN11.
|
pure virtual |
Close a file.
fd | The file descriptor to close |
Implemented in simgrid::surf::StorageN11.
|
pure virtual |
Read a file.
fd | The file descriptor to read |
size | The size in bytes to read |
Implemented in simgrid::surf::StorageN11.
|
pure virtual |
Write a file.
fd | The file descriptor to write |
size | The size in bytes to write |
Implemented in simgrid::surf::StorageN11.
|
virtual |
Get the content of the current Storage.
|
virtual |
Get the available size in bytes of the current Storage.
|
virtual |
Get the used size in bytes of the current Storage.
std::map< std::string, sg_size_t > * simgrid::surf::StorageImpl::parseContent | ( | const char * | filename | ) |
|
inlinestatic |
s4u::Storage simgrid::surf::StorageImpl::piface_ |
Public interface.
std::map<std::string, sg_size_t>* simgrid::surf::StorageImpl::content_ |
sg_size_t simgrid::surf::StorageImpl::size_ |
sg_size_t simgrid::surf::StorageImpl::usedSize_ |
std::string simgrid::surf::StorageImpl::typeId_ |
std::string simgrid::surf::StorageImpl::attach_ |
|
static |
std::vector<StorageAction*> simgrid::surf::StorageImpl::writeActions_ |
lmm_constraint_t simgrid::surf::StorageImpl::constraintWrite_ |
lmm_constraint_t simgrid::surf::StorageImpl::constraintRead_ |