wrench::SimpleStorageService Class Reference

A storage service that provides direct access to some storage resource (e.g., a disk) More...

#include <SimpleStorageService.h>

Inheritance diagram for wrench::SimpleStorageService:
wrench::StorageService wrench::Service wrench::S4U_Daemon

Public Member Functions

 SimpleStorageService (std::string hostname, double capacity, std::map< std::string, std::string > property_list={}, std::map< std::string, std::string > messagepayload_list={})
 Public constructor. More...
 
 ~SimpleStorageService ()
 Destructor.
 
- Public Member Functions inherited from wrench::StorageService
 StorageService (const std::string &hostname, const std::string &service_name, const std::string &data_mailbox_name_prefix, double capacity)
 Constructor. More...
 
virtual void copyFile (WorkflowFile *file, StorageService *src, std::string src_dir, std::string dst_dir)
 Synchronously ask the storage service to read a file from another storage service. More...
 
virtual void copyFile (WorkflowFile *file, StorageService *src)
 Synchronously ask the storage service to read a file from another storage service. More...
 
virtual void copyFile (WorkflowFile *file, StorageService *src, WorkflowJob *src_job, WorkflowJob *dst_job)
 Synchronously ask the storage service to read a file from another storage service. More...
 
virtual void deleteFile (WorkflowFile *file, FileRegistryService *file_registry_service=nullptr)
 Synchronously asks the storage service to delete a file copy. More...
 
virtual void deleteFile (WorkflowFile *file, std::string dst_dir, FileRegistryService *file_registry_service=nullptr)
 Synchronously ask the storage service to delete a file copy. More...
 
virtual void deleteFile (WorkflowFile *file, WorkflowJob *job, FileRegistryService *file_registry_service=nullptr)
 Synchronously ask the storage service to delete a file copy. More...
 
virtual double getFreeSpace ()
 Synchronously asks the storage service for its capacity. More...
 
double getTotalSpace ()
 Get the total static capacity of the storage service (in zero simulation time) More...
 
virtual void initiateFileCopy (std::string answer_mailbox, WorkflowFile *file, StorageService *src, std::string src_dir, std::string dst_dir)
 Asynchronously ask the storage service to read a file from another storage service. More...
 
virtual void initiateFileRead (std::string mailbox_that_should_receive_file_content, WorkflowFile *file, std::string src_dir)
 Asynchronously read a file from the storage service. More...
 
virtual bool lookupFile (WorkflowFile *file)
 Synchronously asks the storage service whether it holds a file. More...
 
virtual bool lookupFile (WorkflowFile *file, std::string dst_dir)
 Synchronously asks the storage service whether it holds a file. More...
 
virtual bool lookupFile (WorkflowFile *file, WorkflowJob *)
 Synchronously asks the storage service whether it holds a file. More...
 
virtual void readFile (WorkflowFile *file, std::string src_dir)
 Synchronously read a file from the storage service. More...
 
virtual void readFile (WorkflowFile *file)
 Synchronously read a file from the storage service. More...
 
virtual void readFile (WorkflowFile *file, WorkflowJob *job)
 Synchronously read a file from the storage service. More...
 
void stop ()
 Stop the service.
 
virtual void writeFile (WorkflowFile *file, std::string dst_dir)
 Synchronously write a file to the storage service. More...
 
virtual void writeFile (WorkflowFile *file)
 Synchronously write a file to the storage service. More...
 
virtual void writeFile (WorkflowFile *file, WorkflowJob *job)
 Synchronously write a file to the storage service. More...
 
- Public Member Functions inherited from wrench::Service
std::string getHostname ()
 Get the name of the host on which the service is / will be running. More...
 
double getMessagePayloadValueAsDouble (std::string)
 Get a message payload of the Service as a double. More...
 
std::string getMessagePayloadValueAsString (std::string)
 Get a message payload of the Service as a string. More...
 
double getNetworkTimeoutValue ()
 Returns the service's network timeout value. More...
 
bool getPropertyValueAsBoolean (std::string)
 Get a property of the Service as a boolean. More...
 
double getPropertyValueAsDouble (std::string)
 Get a property of the Service as a double. More...
 
std::string getPropertyValueAsString (std::string)
 Get a property of the Service as a string. More...
 
bool isUp ()
 Returns true if the service is UP, false otherwise. More...
 
void setNetworkTimeoutValue (double value)
 Sets the service's network timeout value. More...
 
void setStateToDown ()
 Set the state of the service to DOWN.
 
void start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart)
 Start the service. More...
 
- Public Member Functions inherited from wrench::S4U_Daemon
 S4U_Daemon (std::string hostname, std::string process_name_prefix, std::string mailbox_prefix)
 Constructor (daemon with a mailbox) More...
 
virtual ~S4U_Daemon ()
 Constructor (daemon without a mailbox) More...
 
virtual void cleanup ()
 Cleanup function called when the daemon terminates (for whatever reason)
 
void createLifeSaver (std::shared_ptr< S4U_Daemon > reference)
 Create a life saver for the daemon. More...
 
std::string getName ()
 Retrieve the process name. More...
 
bool hasCleanlyTerminated ()
 Returned the terminated status of the daemon/actor.
 
bool isSetToAutoRestart ()
 Return the auto-restart status of the daemon. More...
 
bool join ()
 Join (i.e., wait for) the daemon. More...
 
void resume ()
 Resume the daemon/actor.
 
void setCleanlyTerminated ()
 Set the terminated status of the daemon/actor.
 
void startDaemon (bool daemonized, bool auto_restart)
 Start the daemon. More...
 
void suspend ()
 Suspend the daemon/actor.
 

Additional Inherited Members

- Public Types inherited from wrench::Service
enum  State { UP, DOWN }
 Service states. More...
 
- Static Public Member Functions inherited from wrench::StorageService
static void deleteFiles (std::set< WorkflowFile *> files, std::map< WorkflowFile *, StorageService *> file_locations, StorageService *default_storage_service)
 Synchronously and sequentially delete a set of files from storage services. More...
 
static void readFiles (std::set< WorkflowFile *> files, std::map< WorkflowFile *, StorageService *> file_locations, StorageService *default_storage_service, std::set< WorkflowFile *> &files_in_scratch, WorkflowJob *job=nullptr)
 Synchronously and sequentially read a set of files from storage services. More...
 
static void writeFiles (std::set< WorkflowFile *> files, std::map< WorkflowFile *, StorageService *> file_locations, StorageService *default_storage_service, std::set< WorkflowFile *> &files_in_scratch, WorkflowJob *job=nullptr)
 Synchronously and sequentially upload a set of files from storage services. More...
 
- Public Attributes inherited from wrench::S4U_Daemon
std::string hostname
 The name of the host on which the daemon is running.
 
LifeSaver * life_saver = nullptr
 The daemon's life saver.
 
std::string mailbox_name
 The name of the daemon's mailbox.
 
std::string process_name
 The name of the daemon.
 
Simulationsimulation
 a pointer to the simulation object
 
- Protected Member Functions inherited from wrench::StorageService
void removeFileFromStorage (WorkflowFile *, std::string)
 Remove a file from storage (internal method) More...
 
void stageFile (WorkflowFile *)
 Store a file on the storage service BEFORE the simulation is launched. More...
 
- Protected Member Functions inherited from wrench::Service
 Service (std::string hostname, std::string process_name_prefix, std::string mailbox_name_prefix)
 Constructor. More...
 
void serviceSanityCheck ()
 Check whether the service is properly configured and running. More...
 
void setMessagePayload (std::string, std::string)
 Set a message payload of the Service. More...
 
void setMessagePayloads (std::map< std::string, std::string > default_messagepayload_values, std::map< std::string, std::string > overriden_messagepayload_values)
 Set default and user-defined message payloads. More...
 
void setProperties (std::map< std::string, std::string > default_property_values, std::map< std::string, std::string > overriden_property_values)
 Set default and user-defined properties. More...
 
void setProperty (std::string, std::string)
 Set a property of the Service. More...
 
- Protected Member Functions inherited from wrench::S4U_Daemon
void acquireDaemonLock ()
 Lock the daemon's lock.
 
void killActor ()
 Kill the daemon/actor.
 
void releaseDaemonLock ()
 Unlock the daemon's lock.
 
void runMainMethod ()
 Method that run's the user-defined main method (that's called by the S4U actor class)
 
- Protected Attributes inherited from wrench::StorageService
double capacity
 The storage service's capacity.
 
double occupied_space = 0
 The storage service's occupied space.
 
std::map< std::string, std::set< WorkflowFile * > > stored_files
 The map of file directories and the set of files stored on those directories inside the storage service.
 
- Protected Attributes inherited from wrench::Service
std::map< std::string, std::string > messagepayload_list
 The service's messagepayload list.
 
std::string name
 The service's name.
 
double network_timeout = 30.0
 The time (in seconds) after which a service that doesn't send back a reply (control) message causes a NetworkTimeOut exception. (default: 30 second; if <0 never timeout)
 
std::map< std::string, std::string > property_list
 The service's property list.
 
State state
 The service's state.
 
- Protected Attributes inherited from wrench::S4U_Daemon
unsigned int num_starts = 0
 

Detailed Description

A storage service that provides direct access to some storage resource (e.g., a disk)

Constructor & Destructor Documentation

◆ SimpleStorageService()

wrench::SimpleStorageService::SimpleStorageService ( std::string  hostname,
double  capacity,
std::map< std::string, std::string >  property_list = {},
std::map< std::string, std::string >  messagepayload_list = {} 
)

Public constructor.

Parameters
hostnamethe name of the host on which to start the service
capacitythe storage capacity in bytes
property_lista property list ({} means "use all defaults")
messagepayload_lista message payload list ({} means "use all defaults")

The documentation for this class was generated from the following files:
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/services/storage/simple/SimpleStorageService.h
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/services/storage/simple/SimpleStorageService.cpp