10 #ifndef WRENCH_FILEREGISTRYSERVICE_H
11 #define WRENCH_FILEREGISTRYSERVICE_H
15 #include "wrench/services/Service.h"
16 #include "wrench/services/network_proximity/NetworkProximityService.h"
17 #include "wrench/services/storage/StorageService.h"
18 #include "wrench/services/storage/storage_helpers/FileLocation.h"
20 #include "FileRegistryServiceProperty.h"
21 #include "FileRegistryServiceMessagePayload.h"
38 WRENCH_PROPERTY_COLLECTION_TYPE default_property_values = {
44 WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE default_messagepayload_values = {
66 std::set<std::shared_ptr<FileLocation>>
lookupEntry(std::shared_ptr<DataFile>file);
68 std::map<double, std::shared_ptr<FileLocation>>
lookupEntry(
69 std::shared_ptr<DataFile>file, std::string reference_host,
70 std::shared_ptr <NetworkProximityService> network_proximity_service);
72 void addEntry(std::shared_ptr<DataFile>file, std::shared_ptr <FileLocation> location);
74 void removeEntry(std::shared_ptr<DataFile>file, std::shared_ptr <FileLocation> location);
93 void addEntryToDatabase(std::shared_ptr<DataFile>file, std::shared_ptr <FileLocation> location);
95 bool removeEntryFromDatabase(std::shared_ptr<DataFile>file, std::shared_ptr <FileLocation> location);
99 bool processNextMessage();
101 std::map<std::shared_ptr<DataFile>, std::set < std::shared_ptr < FileLocation>>>
107 #endif //WRENCH_FILEREGISTRYSERVICE_H
static const std::string ADD_ENTRY_ANSWER_MESSAGE_PAYLOAD
The number of bytes in the control message sent by the daemon to answer an entry addition request.
Definition: FileRegistryServiceMessagePayload.h:32
WRENCH_PROPERTY_COLLECTION_TYPE property_list
The service's property list.
Definition: Service.h:110
static const std::string REMOVE_ENTRY_REQUEST_MESSAGE_PAYLOAD
The number of bytes in the control message sent to the daemon to cause it to remove an entry.
Definition: FileRegistryServiceMessagePayload.h:35
static const std::string LOOKUP_COMPUTE_COST
The computational cost, in flops, of looking entries for a file.
Definition: FileRegistryServiceProperty.h:28
static const std::string DAEMON_STOPPED_MESSAGE_PAYLOAD
The number of bytes in the control message sent by the daemon to confirm it has terminated.
Definition: ServiceMessagePayload.h:37
static const std::string ADD_ENTRY_COMPUTE_COST
The computational cost, in flops, of adding, an entry for a file.
Definition: FileRegistryServiceProperty.h:34
std::set< std::shared_ptr< FileLocation > > lookupEntry(std::shared_ptr< DataFile >file)
Lookup entries for a file.
Definition: FileRegistryService.cpp:61
A file registry service (a.k.a. replica catalog) that holds a database of which files are available a...
Definition: FileRegistryService.h:35
static const std::string FILE_LOOKUP_ANSWER_MESSAGE_PAYLOAD
The number of bytes per file location returned in an answer sent by the daemon to answer a file locat...
Definition: FileRegistryServiceMessagePayload.h:27
WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_list
The service's messagepayload list.
Definition: Service.h:113
static const std::string REMOVE_ENTRY_ANSWER_MESSAGE_PAYLOAD
The number of bytes in the control message sent by the daemon to answer an entry removal request.
Definition: FileRegistryServiceMessagePayload.h:37
Definition: Action.cpp:28
static const std::string FILE_LOOKUP_REQUEST_MESSAGE_PAYLOAD
The number of bytes in a request control message sent to the daemon to request a list of file locatio...
Definition: FileRegistryServiceMessagePayload.h:25
static const std::string ADD_ENTRY_REQUEST_MESSAGE_PAYLOAD
The number of bytes in the control message sent to the daemon to cause it to add an entry.
Definition: FileRegistryServiceMessagePayload.h:30
static const std::string STOP_DAEMON_MESSAGE_PAYLOAD
The number of bytes in the control message sent to the daemon to terminate it.
Definition: ServiceMessagePayload.h:35
FileRegistryService(std::string hostname, WRENCH_PROPERTY_COLLECTION_TYPE property_list={}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_list={})
Constructor.
Definition: FileRegistryService.cpp:38
std::string hostname
The name of the host on which the daemon is running.
Definition: S4U_Daemon.h:60
A class that provides basic simulation methods. Once the simulation object has been explicitly or imp...
Definition: Simulation.h:48
static const std::string REMOVE_ENTRY_COMPUTE_COST
The computational cost, in flops, of removing an entry for a file.
Definition: FileRegistryServiceProperty.h:40
A service that can be added to the simulation and that can be used by a WMS when executing a workflow...
Definition: Service.h:31
void addEntry(std::shared_ptr< DataFile >file, std::shared_ptr< FileLocation > location)
Add an entry.
Definition: FileRegistryService.cpp:166
void removeEntry(std::shared_ptr< DataFile >file, std::shared_ptr< FileLocation > location)
Remove an entry.
Definition: FileRegistryService.cpp:210