-/* Copyright (c) 2006-2015. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2017. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/** 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_; }
- const char* getCname() { return name_.c_str(); }
+ /** Retrieves the name of that host as a C string */
+ const char* getCname() const { return name_.c_str(); }
void actorList(std::vector<ActorPtr> * whereto);
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";
std::unordered_map<std::string, Storage*>* mounts = nullptr; // caching