* You can think of an actor as a process in your distributed application, or as a thread in a multithreaded program.
* This is the only component in SimGrid that actually does something on its own, executing its own code.
* A resource will not get used if you don't schedule activities on them. This is the code of Actors that create and
- * schedule these activities. Please refer to the :ref:`examples <s4u_ex_actors>` for more information.
+ * schedule these activities. **Please refer to the** :ref:`examples <s4u_ex_actors>` **for more information.**
*
* This API is strongly inspired from the C++11 threads.
* The `documentation of this standard <http://en.cppreference.com/w/cpp/thread>`_
static xbt::signal<void(Actor const&)> on_sleep;
/** Signal to others that an actor wakes up for a sleep **/
static xbt::signal<void(Actor const&)> on_wake_up;
- /** Signal to others that an actor is going to migrated to another host**/
- static xbt::signal<void(Actor const&)> on_migration_start;
/** Signal to others that an actor is has been migrated to another host **/
- static xbt::signal<void(Actor const&)> on_migration_end;
+ static xbt::signal<void(Actor const&, Host const& previous_location)> on_host_change;
+#ifndef DOXYGEN
+ static xbt::signal<void(Actor const&)> on_migration_start; // XBT_ATTRIB_DEPRECATED_v329
+ static xbt::signal<void(Actor const&)> on_migration_end; // XBT_ATTRIB_DEPRECATED_v329
+#endif
+
/** Signal indicating that an actor terminated its code.
* The actor may continue to exist if it is still referenced in the simulation, but it's not active anymore.
* If you want to free extra data when the actor's destructor is called, use Actor::on_destruction.
/** Retrieves the actor ID of that actor's creator */
aid_t get_ppid() const;
- /** Suspend an actor, that is blocked until resume()ed by another actor */
+ /** Suspend an actor, that is blocked until resumeed by another actor */
void suspend();
- /** Resume an actor that was previously suspend()ed */
+ /** Resume an actor that was previously suspended */
void resume();
/** Returns true if the actor is suspended. */
* Asynchronous activities started by the actor are not migrated automatically, so you have
* to take care of this yourself (only you knows which ones should be migrated).
*/
- void migrate(Host * new_host);
+ void set_host(Host* new_host);
+#ifndef DOXYGEN
+ XBT_ATTRIB_DEPRECATED_v329("Please use set_host() instead") void migrate(Host* new_host) { set_host(new_host); }
+#endif
/** Ask the actor to die.
*
XBT_PUBLIC void on_exit(const std::function<void(bool)>& fun);
/** @brief Migrate the current actor to a new host. */
-XBT_PUBLIC void migrate(Host* new_host);
+XBT_PUBLIC void set_host(Host* new_host);
+#ifndef DOXYGEN
+XBT_ATTRIB_DEPRECATED_v329("Please use set_host() instead") XBT_PUBLIC void migrate(Host* new_host);
+#endif
/** @} */
}