wrench::FileRegistryService Class Reference

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>

Inheritance diagram for wrench::FileRegistryService:
wrench::Service

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
hostnamethe hostname on which to start the service
property_lista property list ({} means "use all defaults")
messagepayload_lista message payload list ({} means "use all defaults")

Member Function Documentation

◆ addEntry()

void wrench::FileRegistryService::addEntry ( WorkflowFile file,
StorageService storage_service 
)

Add an entry.

Parameters
filea file
storage_servicea 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
filethe 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
filethe file to lookup
reference_hostreference host from which network proximity values are to be measured
network_proximity_servicethe 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
filea file
storage_servicea 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