wrench::StorageService

class wrench::StorageService : public wrench::Service

The storage service base class.

Subclassed by wrench::SimpleStorageService

Public Functions

std::map<std::string, double> getFreeSpace()

Synchronously asks the storage service for its capacity at all its mount points.

Throws
Returns

The free space in bytes of each mount point, as a map

std::string getMountPoint()

Get the mount point (will throw is more than one)

Returns

the (sole) mount point of the service

std::set<std::string> getMountPoints()

Get the set of mount points.

Returns

the set of mount points

std::map<std::string, double> getTotalSpace()

Get the total static capacity of the storage service (in zero simulation time)

Returns

capacity of the storage service (double) for each mount point, in a map

bool hasMountPoint(const std::string &mp)

Checked whether the storage service has a particular mount point.

Parameters

mp – a mount point

Returns

true whether the service has that mount point

bool hasMultipleMountPoints()

Checked whether the storage service has multiple mount points.

Returns

true whether the service has multiple mount points

virtual void stop() override

Stop the service.

Public Static Functions

static void deleteFile(const std::shared_ptr<DataFile> &file, const std::shared_ptr<FileLocation> &location, const std::shared_ptr<FileRegistryService> &file_registry_service = nullptr)

Synchronously delete a file at a location.

Parameters
  • file – the file

  • location – the file’s location

  • file_registry_service – a file registry service that should be updated once the file deletion has (successfully) completed (none if nullptr)

Throws
static bool lookupFile(const std::shared_ptr<DataFile> &file, const std::shared_ptr<FileLocation> &location)

Synchronously asks the storage service whether it holds a file.

Parameters
  • file – the file

  • location – the file location

Throws
Returns

true or false

static void readFile(const std::shared_ptr<DataFile> &file, const std::shared_ptr<FileLocation> &location)

Synchronously read a file from the storage service.

Parameters
  • file – the file

  • location – the location to read the file from

Throws
static void readFile(const std::shared_ptr<DataFile> &file, const std::shared_ptr<FileLocation> &location, double num_bytes)

Synchronously read a file from the storage service.

Parameters
  • file – the file

  • location – the location to read the file from

  • num_bytes_to_read – number of bytes to read from the file

Throws
static void writeFile(const std::shared_ptr<DataFile> &file, const std::shared_ptr<FileLocation> &location)

Synchronously write a file to the storage service.

Parameters
  • file – the file

  • location – the location to write it to

Throws

ExecutionException