Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
New: s4u::Host.execute() for remote executions
[simgrid.git] / include / simgrid / s4u / Host.hpp
index 30c932e..09c55ec 100644 (file)
@@ -1,4 +1,4 @@
-/* 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. */
@@ -67,7 +67,7 @@ public:
   static s4u::Host* current();
 
   simgrid::xbt::string const& getName() const { return name_; }
-  const char* getCname() { return name_.c_str(); }
+  const char* getCname() const { return name_.c_str(); }
 
   void actorList(std::vector<ActorPtr> * whereto);
 
@@ -105,6 +105,13 @@ public:
   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