A file registry service (a.k.a. replica catalog) that holds a database of which files are available at which storage services. More specifically, the database holds a set of <file, storage service> entries. A WMS can add, lookup, and remove entries at will from this database. More...
#include <FileRegistryService.h>
Public Member Functions | |
FileRegistryService (std::string hostname, std::map< std::string, std::string > property_list={}, std::map< std::string, std::string > messagepayload_list={}) | |
Constructor. More... | |
void | addEntry (WorkflowFile *file, StorageService *storage_service) |
Add an entry. More... | |
std::set< StorageService * > | lookupEntry (WorkflowFile *file) |
Lookup entries for a file. More... | |
std::map< double, StorageService * > | lookupEntry (WorkflowFile *file, std::string reference_host, NetworkProximityService *) |
Lookup entries for a file, including for each entry a network distance from a reference host (as determined by a network proximity service) More... | |
void | removeEntry (WorkflowFile *file, StorageService *storage_service) |
Remove an entry. 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 | 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 | start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart) |
Start the service. More... | |
virtual void | stop () |
Synchronously stop the service (does nothing if the service is already stopped) More... | |
Additional Inherited Members | |
Public Types inherited from wrench::Service | |
enum | State { UP, DOWN } |
Service states. More... | |
Detailed Description
A file registry service (a.k.a. replica catalog) that holds a database of which files are available at which storage services. More specifically, the database holds a set of <file, storage service> entries. A WMS can add, lookup, and remove entries at will from this database.
Constructor & Destructor Documentation
◆ FileRegistryService()
wrench::FileRegistryService::FileRegistryService | ( | std::string | hostname, |
std::map< std::string, std::string > | property_list = {} , |
||
std::map< std::string, std::string > | messagepayload_list = {} |
||
) |
Constructor.
- Parameters
-
hostname the hostname on which to start the service property_list a property list ({} means "use all defaults") messagepayload_list a message payload list ({} means "use all defaults")
Member Function Documentation
◆ addEntry()
void wrench::FileRegistryService::addEntry | ( | WorkflowFile * | file, |
StorageService * | storage_service | ||
) |
Add an entry.
- Parameters
-
file a file storage_service a storage_service
- Exceptions
-
WorkflowExecutionException std::invalid_argument std::runtime_error
◆ lookupEntry() [1/2]
std::set< StorageService * > wrench::FileRegistryService::lookupEntry | ( | WorkflowFile * | file | ) |
Lookup entries for a file.
- Parameters
-
file the file to lookup
- Returns
- The list of storage services that hold a copy of the file
- Exceptions
-
WorkflowExecutionException std::invalid_argument std::runtime_error
◆ lookupEntry() [2/2]
std::map< double, StorageService * > wrench::FileRegistryService::lookupEntry | ( | WorkflowFile * | file, |
std::string | reference_host, | ||
NetworkProximityService * | network_proximity_service | ||
) |
Lookup entries for a file, including for each entry a network distance from a reference host (as determined by a network proximity service)
- Parameters
-
file the file to lookup reference_host reference host from which network proximity values are to be measured network_proximity_service the network proximity service to use
- Returns
- a map of <distance , storage service> pairs
◆ removeEntry()
void wrench::FileRegistryService::removeEntry | ( | WorkflowFile * | file, |
StorageService * | storage_service | ||
) |
Remove an entry.
- Parameters
-
file a file storage_service a storage service
- Exceptions
-
WorkflowExecutionException std::invalid_argument std::runtime_error
The documentation for this class was generated from the following files:
- /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/services/file_registry/FileRegistryService.h
- /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/services/file_registry/FileRegistryService.cpp