FileRegistryMessage.h
1 
11 #ifndef WRENCH_FILEREGISTRYMESSAGE_H
12 #define WRENCH_FILEREGISTRYMESSAGE_H
13 
14 
15 #include <iostream>
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>
20 
21 namespace wrench {
22 
23  /***********************/
25  /***********************/
26 
31  protected:
32  FileRegistryMessage(std::string name, double payload);
33 
34  };
35 
40  public:
42 
44  std::string answer_mailbox;
47  };
48 
53  public:
54  FileRegistryFileLookupAnswerMessage(WorkflowFile *file, std::set<std::shared_ptr<FileLocation>> locations,
55  double payload);
56 
60  std::set<std::shared_ptr<FileLocation>> locations;
61  };
62 
68  public:
70  std::string reference_host,
71  std::shared_ptr<NetworkProximityService> network_proximity_service,
72  double payload);
73 
75  std::string answer_mailbox;
85  std::string reference_host;
86 
90  std::shared_ptr<NetworkProximityService> network_proximity_service;
91  };
92 
98  public:
100  std::string reference_host,
101  std::map<double, std::shared_ptr<FileLocation>> locations,
102  double payload);
103 
113  std::string reference_host;
118  std::map<double, std::shared_ptr<FileLocation>> locations;
119  };
120 
125  public:
127  std::shared_ptr<FileLocation> location, double payload);
128 
130  std::string answer_mailbox;
134  std::shared_ptr<FileLocation> location;
135  };
136 
141  public:
143 
145  bool success;
146  };
147 
152  public:
154  std::shared_ptr<FileLocation> location, double payload);
155 
157  std::string answer_mailbox;
161  std::shared_ptr<FileLocation> location;
162  };
163 
168  public:
170  };
171 
172  /***********************/
174  /***********************/
175 };
176 
177 
178 #endif //WRENCH_FILEREGISTRYMESSAGE_H
std::shared_ptr< FileLocation > location
The location to remove.
Definition: FileRegistryMessage.h:134
std::map< double, std::shared_ptr< FileLocation > > locations
A map of all locations where the file resides sorted with respect to their distance from the host 'ho...
Definition: FileRegistryMessage.h:118
std::string name
The message name.
Definition: SimulationMessage.h:37
Top-level FileRegistryMessage class.
Definition: FileRegistryMessage.h:30
FileRegistryRemoveEntryRequestMessage(std::string answer_mailbox, WorkflowFile *file, std::shared_ptr< FileLocation > location, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:112
FileRegistryFileLookupByProximityRequestMessage(std::string answer_mailbox, WorkflowFile *file, std::string reference_host, std::shared_ptr< NetworkProximityService > network_proximity_service, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:69
FileRegistryRemoveEntryAnswerMessage(bool success, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:132
std::string reference_host
The host from which network proximity will be measured from. If 'host_to_measure_from' is host 'A',...
Definition: FileRegistryMessage.h:113
std::string answer_mailbox
The mailbox to which the answer message should be sent.
Definition: FileRegistryMessage.h:130
A message sent by a FileRegistryService in answer to a file lookup request.
Definition: FileRegistryMessage.h:52
std::string reference_host
The host from which network proximity will be measured from. If 'host_to_measure_from' is host 'A',...
Definition: FileRegistryMessage.h:85
std::shared_ptr< NetworkProximityService > network_proximity_service
The network proximity service to be used.
Definition: FileRegistryMessage.h:90
WorkflowFile * file
The file to lookup.
Definition: FileRegistryMessage.h:105
A message sent to a FileRegistryService to request the addition of an entry.
Definition: FileRegistryMessage.h:151
A message sent by a FileRegistryService in answer to a file lookup request, in which file locations a...
Definition: FileRegistryMessage.h:97
WorkflowFile * file
The file for which one entry should be removed.
Definition: FileRegistryMessage.h:132
Top-level class for messages received/sent by a Service.
Definition: ServiceMessage.h:27
std::string answer_mailbox
The mailbox to which the answer message should be sent.
Definition: FileRegistryMessage.h:75
WorkflowFile * file
The file that was looked up.
Definition: FileRegistryMessage.h:58
A message sent by a FileRegistryService in answer to an entry addition request.
Definition: FileRegistryMessage.h:167
A message sent by a FileRegistryService in answer to an entry removal request.
Definition: FileRegistryMessage.h:140
FileRegistryFileLookupRequestMessage(std::string answer_mailbox, WorkflowFile *file, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:31
Definition: Alarm.cpp:20
FileRegistryFileLookupAnswerMessage(WorkflowFile *file, std::set< std::shared_ptr< FileLocation >> locations, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:49
FileRegistryFileLookupByProximityAnswerMessage(WorkflowFile *file, std::string reference_host, std::map< double, std::shared_ptr< FileLocation >> locations, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:91
FileRegistryAddEntryRequestMessage(std::string answer_mailbox, WorkflowFile *file, std::shared_ptr< FileLocation > location, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:145
WorkflowFile * file
The file for which to add an entry.
Definition: FileRegistryMessage.h:159
FileRegistryAddEntryAnswerMessage(double payload)
Constructor.
Definition: FileRegistryMessage.cpp:164
double payload
The message size in bytes.
Definition: SimulationMessage.h:39
std::shared_ptr< FileLocation > location
The location in that entry.
Definition: FileRegistryMessage.h:161
std::string answer_mailbox
The mailbox to which the answer message should be sent.
Definition: FileRegistryMessage.h:157
A message sent to a FileRegistryService to request a file lookup, expecting a reply in which file loc...
Definition: FileRegistryMessage.h:67
FileRegistryMessage(std::string name, double payload)
Constructor.
Definition: FileRegistryMessage.cpp:20
bool success
Whether the entry removal was successful or not.
Definition: FileRegistryMessage.h:145
std::set< std::shared_ptr< FileLocation > > locations
A (possibly empty) set of file locations.
Definition: FileRegistryMessage.h:60
A message sent to a FileRegistryService to request a file lookup.
Definition: FileRegistryMessage.h:39
WorkflowFile * file
The file to lookup.
Definition: FileRegistryMessage.h:77
A message sent to a FileRegistryService to request the removal of an entry.
Definition: FileRegistryMessage.h:124
A data file used/produced by a WorkflowTask in a Workflow.
Definition: WorkflowFile.h:26
WorkflowFile * file
The file to lookup.
Definition: FileRegistryMessage.h:46
std::string answer_mailbox
The mailbox to which the answer message should be sent.
Definition: FileRegistryMessage.h:44