SimGrid  3.14.159
Versatile Simulation of Distributed Systems
simgrid::surf::Storage Class Referenceabstract

Detailed Description

SURF storage interface class.

A Storage represent a storage unit (e.g.: hard drive, usb key)

#include <storage_interface.hpp>

Inheritance diagram for simgrid::surf::Storage:
simgrid::surf::Resource simgrid::surf::PropertyHolder simgrid::surf::StorageN11

Public Member Functions

 Storage (Model *model, const char *name, lmm_system_t maxminSystem, double bread, double bwrite, double bconnection, const char *type_id, const char *content_name, const char *content_type, sg_size_t size, const char *attach)
 Storage constructor. More...
 
 ~Storage ()
 
bool isUsed () override
 Check if the Storage is used (if an action currently uses its resources) More...
 
void apply_event (tmgr_trace_iterator_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 StorageActionopen (const char *mount, const char *path)=0
 Open a file. More...
 
virtual StorageActionclose (surf_file_t fd)=0
 Close a file. More...
 
virtual StorageActionread (surf_file_t fd, sg_size_t size)=0
 Read a file. More...
 
virtual StorageActionwrite (surf_file_t fd, sg_size_t size)=0
 Write a file. More...
 
virtual xbt_dict_t getContent ()
 Get the content of the current Storage. More...
 
virtual sg_size_t getSize ()
 Get the size in bytes 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...
 
xbt_dict_t parseContent (const char *filename)
 
- Public Member Functions inherited from simgrid::surf::Resource
 Resource (Model *model, const char *name, lmm_constraint_t constraint)
 Constructor of LMM Resources. More...
 
virtual ~Resource ()
 
ModelgetModel () const
 Get the Model of the current Resource. More...
 
const char * getName () 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 getConstraint () const
 Get the lmm constraint associated to this Resource if it is part of a LMM component (or null if none) More...
 
- Public Member Functions inherited from simgrid::surf::PropertyHolder
 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...
 

Public Attributes

xbt_dict_t content_
 
char * contentType_
 
sg_size_t size_
 
sg_size_t usedSize_
 
char * typeId_
 
char * attach_
 
std::vector< StorageAction * > writeActions_
 
lmm_constraint_t constraintWrite_
 
lmm_constraint_t constraintRead_
 

Additional Inherited Members

- Protected Attributes inherited from simgrid::surf::Resource
const lmm_constraint_t constraint_ = nullptr
 

Constructor & Destructor Documentation

§ Storage()

simgrid::surf::Storage::Storage ( Model model,
const char *  name,
lmm_system_t  maxminSystem,
double  bread,
double  bwrite,
double  bconnection,
const char *  type_id,
const char *  content_name,
const char *  content_type,
sg_size_t  size,
const char *  attach 
)

Storage constructor.

Parameters
modelStorageModel associated to this Storage
nameThe name of the Storage
propsDictionary of properties associated to this Storage

§ ~Storage()

simgrid::surf::Storage::~Storage ( )

Member Function Documentation

§ isUsed()

bool simgrid::surf::Storage::isUsed ( )
overridevirtual

Check if the Storage is used (if an action currently uses its resources)

Implements simgrid::surf::Resource.

§ apply_event()

void simgrid::surf::Storage::apply_event ( tmgr_trace_iterator_t  event,
double  value 
)
overridevirtual

Apply an event of external load event to that resource.

Parameters
eventWhat happened
value[TODO]

Implements simgrid::surf::Resource.

§ turnOn()

void simgrid::surf::Storage::turnOn ( )
overridevirtual

Turn on the current Resource.

Reimplemented from simgrid::surf::Resource.

§ turnOff()

void simgrid::surf::Storage::turnOff ( )
overridevirtual

Turn off the current Resource.

Reimplemented from simgrid::surf::Resource.

§ open()

virtual StorageAction* simgrid::surf::Storage::open ( const char *  mount,
const char *  path 
)
pure virtual

Open a file.

Parameters
mountThe mount point
pathThe path to the file
Returns
The StorageAction corresponding to the opening

Implemented in simgrid::surf::StorageN11.

§ close()

virtual StorageAction* simgrid::surf::Storage::close ( surf_file_t  fd)
pure virtual

Close a file.

Parameters
fdThe file descriptor to close
Returns
The StorageAction corresponding to the closing

Implemented in simgrid::surf::StorageN11.

§ read()

virtual StorageAction* simgrid::surf::Storage::read ( surf_file_t  fd,
sg_size_t  size 
)
pure virtual

Read a file.

Parameters
fdThe file descriptor to read
sizeThe size in bytes to read
Returns
The StorageAction corresponding to the reading

Implemented in simgrid::surf::StorageN11.

§ write()

virtual StorageAction* simgrid::surf::Storage::write ( surf_file_t  fd,
sg_size_t  size 
)
pure virtual

Write a file.

Parameters
fdThe file descriptor to write
sizeThe size in bytes to write
Returns
The StorageAction corresponding to the writing

Implemented in simgrid::surf::StorageN11.

§ getContent()

xbt_dict_t simgrid::surf::Storage::getContent ( )
virtual

Get the content of the current Storage.

Returns
A xbt_dict_t with path as keys and size in bytes as values

§ getSize()

sg_size_t simgrid::surf::Storage::getSize ( )
virtual

Get the size in bytes of the current Storage.

Returns
The size in bytes of the current Storage

§ getFreeSize()

sg_size_t simgrid::surf::Storage::getFreeSize ( )
virtual

Get the available size in bytes of the current Storage.

Returns
The available size in bytes of the current Storage

§ getUsedSize()

sg_size_t simgrid::surf::Storage::getUsedSize ( )
virtual

Get the used size in bytes of the current Storage.

Returns
The used size in bytes of the current Storage

§ parseContent()

xbt_dict_t simgrid::surf::Storage::parseContent ( const char *  filename)

Member Data Documentation

§ content_

xbt_dict_t simgrid::surf::Storage::content_

§ contentType_

char* simgrid::surf::Storage::contentType_

§ size_

sg_size_t simgrid::surf::Storage::size_

§ usedSize_

sg_size_t simgrid::surf::Storage::usedSize_

§ typeId_

char* simgrid::surf::Storage::typeId_

§ attach_

char* simgrid::surf::Storage::attach_

§ writeActions_

std::vector<StorageAction*> simgrid::surf::Storage::writeActions_

§ constraintWrite_

lmm_constraint_t simgrid::surf::Storage::constraintWrite_

§ constraintRead_

lmm_constraint_t simgrid::surf::Storage::constraintRead_

The documentation for this class was generated from the following files: