11 #ifndef WRENCH_FILEREGISTRYMESSAGE_H
12 #define WRENCH_FILEREGISTRYMESSAGE_H
16 #include <wrench/services/ServiceMessage.h>
17 #include <wrench/workflow/WorkflowFile.h>
18 #include <wrench/services/network_proximity/NetworkProximityService.h>
19 #include <wrench/services/storage/StorageService.h>
30 class FileRegistryMessage :
public ServiceMessage {
32 FileRegistryMessage(std::string name,
double payload);
39 class FileRegistryFileLookupRequestMessage :
public FileRegistryMessage {
41 FileRegistryFileLookupRequestMessage(std::string answer_mailbox, WorkflowFile *file,
double payload);
44 std::string answer_mailbox;
52 class FileRegistryFileLookupAnswerMessage :
public FileRegistryMessage {
54 FileRegistryFileLookupAnswerMessage(WorkflowFile *file, std::set<std::shared_ptr<FileLocation>> locations,
60 std::set<std::shared_ptr<FileLocation>> locations;
67 class FileRegistryFileLookupByProximityRequestMessage :
public FileRegistryMessage {
69 FileRegistryFileLookupByProximityRequestMessage(std::string answer_mailbox, WorkflowFile *file,
70 std::string reference_host,
71 std::shared_ptr<NetworkProximityService> network_proximity_service,
75 std::string answer_mailbox;
85 std::string reference_host;
90 std::shared_ptr<NetworkProximityService> network_proximity_service;
97 class FileRegistryFileLookupByProximityAnswerMessage :
public FileRegistryMessage {
99 FileRegistryFileLookupByProximityAnswerMessage(WorkflowFile *file,
100 std::string reference_host,
101 std::map<
double, std::shared_ptr<FileLocation>> locations,
113 std::string reference_host;
118 std::map<double, std::shared_ptr<FileLocation>> locations;
124 class FileRegistryRemoveEntryRequestMessage :
public FileRegistryMessage {
126 FileRegistryRemoveEntryRequestMessage(std::string answer_mailbox, WorkflowFile *file,
127 std::shared_ptr<FileLocation> location,
double payload);
130 std::string answer_mailbox;
134 std::shared_ptr<FileLocation> location;
140 class FileRegistryRemoveEntryAnswerMessage :
public FileRegistryMessage {
142 FileRegistryRemoveEntryAnswerMessage(
bool success,
double payload);
151 class FileRegistryAddEntryRequestMessage :
public FileRegistryMessage {
153 FileRegistryAddEntryRequestMessage(std::string answer_mailbox, WorkflowFile *file,
154 std::shared_ptr<FileLocation> location,
double payload);
157 std::string answer_mailbox;
161 std::shared_ptr<FileLocation> location;
167 class FileRegistryAddEntryAnswerMessage :
public FileRegistryMessage {
169 FileRegistryAddEntryAnswerMessage(
double payload);
178 #endif //WRENCH_FILEREGISTRYMESSAGE_H