/** Retrieves the host on which the current actor is running */
static s4u::Host* current();
+ /** Retrieves the name of that host as a C++ string */
simgrid::xbt::string const& getName() const { return name_; }
+ /** Retrieves the name of that host as a C string */
const char* getCname() const { return name_.c_str(); }
void actorList(std::vector<ActorPtr> * whereto);
*/
std::unordered_map<std::string, Storage*> const& getMountedStorages();
- void routeTo(Host * dest, std::vector<Link*> * links, double* latency);
- void routeTo(Host * dest, std::vector<surf::LinkImpl*> * links, double* latency);
+ void routeTo(Host* dest, std::vector<Link*>& links, double* latency);
+ void routeTo(Host* dest, std::vector<surf::LinkImpl*>& links, double* latency);
+
+ /** Block the calling actor on an execution located on the called host
+ *
+ * It is not a problem if the actor is not located on the called host.
+ * The actor will not be migrated in this case. Such remote execution are easy in simulation.
+ */
+ void execute(double flops);
private:
simgrid::xbt::string name_ = "noname";