From: Zitagcc Date: Wed, 18 Oct 2017 13:51:08 +0000 (+0200) Subject: Merge branch 'master' into actor-priority X-Git-Tag: v3.18~401^2~3^2^2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/22e6546d2c6f14864cc93c4ed1470d8e8c1e2d95?ds=sidebyside Merge branch 'master' into actor-priority --- 22e6546d2c6f14864cc93c4ed1470d8e8c1e2d95 diff --cc examples/s4u/CMakeLists.txt index 88c3619e6e,669aba8d27..5a9d1cc390 --- a/examples/s4u/CMakeLists.txt +++ b/examples/s4u/CMakeLists.txt @@@ -1,5 -1,5 +1,6 @@@ foreach (example actions-comm actions-storage - actor-create actor-daemon actor-kill actor-migration actor-suspend actor-priority - actor-create actor-daemon actor-execute actor-kill actor-lifetime actor-migration actor-suspend ++ actor-create actor-daemon actor-kill actor-migration actor-suspend ++ actor-create actor-daemon actor-execute actor-kill actor-lifetime actor-migration actor-suspend actor-priority app-masterworker app-pingpong app-token-ring async-wait async-waitany async-waitall plugin-hostload io mutex) @@@ -32,10 -32,12 +33,13 @@@ endforeach( set(examples_src ${examples_src} PARENT_SCOPE) set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/s4u-app-bittorrent.tesh ${CMAKE_CURRENT_SOURCE_DIR}/dht-chord/s4u-dht-chord.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/actor-priority/s4u-actor-priority.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/actor-lifetime/s4u-actor-lifetime.tesh ${CMAKE_CURRENT_SOURCE_DIR}/async-wait/s4u-async-wait.tesh ${CMAKE_CURRENT_SOURCE_DIR}/async-waitany/s4u-async-waitany.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/async-waitall/s4u-async-waitall.tesh PARENT_SCOPE) + ${CMAKE_CURRENT_SOURCE_DIR}/async-waitall/s4u-async-waitall.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/actor-execute/s4u-actor-execute.tesh + PARENT_SCOPE) set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/s4u-actions-comm-split_d.xml ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/s4u-actions-comm_d.xml ${CMAKE_CURRENT_SOURCE_DIR}/actions-storage/s4u-actions-storage_d.xml @@@ -54,9 -57,9 +60,9 @@@ set(txt_files ${txt_files} ${CMA ${CMAKE_CURRENT_SOURCE_DIR}/README.doc PARENT_SCOPE) foreach(example actions-comm actions-storage - actor-create actor-daemon actor-kill actor-migration actor-suspend + actor-create actor-daemon actor-execute actor-kill actor-lifetime actor-migration actor-suspend app-bittorrent app-masterworker app-pingpong app-token-ring - async-wait async-waitall async-waitany + async-wait async-waitall async-waitany actor-priority dht-chord plugin-hostload io mutex) ADD_TESH_FACTORIES(s4u-${example} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}/${example} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/s4u/${example} s4u-${example}.tesh) endforeach() diff --cc include/simgrid/s4u/Actor.hpp index b63447f642,210baad3b4..facaf0a59e --- a/include/simgrid/s4u/Actor.hpp +++ b/include/simgrid/s4u/Actor.hpp @@@ -286,83 -286,83 +286,86 @@@ template inli { auto seconds = std::chrono::duration_cast(duration); this_actor::sleep_for(seconds.count()); - } - template - inline void sleep_until(const SimulationTimePoint& timeout_time) - { - auto timeout_native = std::chrono::time_point_cast(timeout_time); - this_actor::sleep_until(timeout_native.time_since_epoch().count()); - } + } - XBT_ATTRIB_DEPRECATED_v320("Use sleep_for(): v3.20 will turn this warning into an error.") inline void sleep( - double duration) - { - return sleep_for(duration); - } + template inline void sleep_until(const SimulationTimePoint& timeout_time) + { + auto timeout_native = std::chrono::time_point_cast(timeout_time); + this_actor::sleep_until(timeout_native.time_since_epoch().count()); + } + + XBT_ATTRIB_DEPRECATED_v320("Use sleep_for(): v3.20 will turn this warning into an error.") inline void sleep( + double duration) + { + return sleep_for(duration); + } - /** Block the actor, computing the given amount of flops */ - XBT_PUBLIC(void) execute(double flop); + /** Block the actor, computing the given amount of flops */ + XBT_PUBLIC(void) execute(double flop); -/** Block the actor until it gets a message from the given mailbox. - * - * See \ref Comm for the full communication API (including non blocking communications). - */ -XBT_PUBLIC(void*) -XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::get(): v3.20 will turn this warning into an error.") recv(MailboxPtr chan); -XBT_PUBLIC(void*) -XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::get(): v3.20 will turn this warning into an error.") - recv(MailboxPtr chan, double timeout); -XBT_PUBLIC(CommPtr) -XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::recv_async(): v3.20 will turn this warning into an error.") - irecv(MailboxPtr chan, void** data); + /** Block the actor, computing the given amount of flops and priority */ + XBT_PUBLIC(void) execute(double flop, double priority); -/** Block the actor until it delivers a message of the given simulated size to the given mailbox - * - * See \ref Comm for the full communication API (including non blocking communications). -*/ -XBT_PUBLIC(void) -XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put(): v3.20 will turn this warning into an error.") - send(MailboxPtr chan, void* payload, double simulatedSize); // 3.17 -XBT_PUBLIC(void) -XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put(): v3.20 will turn this warning into an error.") - send(MailboxPtr chan, void* payload, double simulatedSize, double timeout); // 3.17 + /** Block the actor until it gets a message from the given mailbox. + * + * See \ref Comm for the full communication API (including non blocking communications). + */ + XBT_PUBLIC(void*) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::get(): v3.20 will turn this warning into an error.") recv(MailboxPtr chan); + XBT_PUBLIC(void*) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::get(): v3.20 will turn this warning into an error.") + recv(MailboxPtr chan, double timeout); + XBT_PUBLIC(CommPtr) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::recv_async(): v3.20 will turn this warning into an error.") + irecv(MailboxPtr chan, void** data); + + /** Block the actor until it delivers a message of the given simulated size to the given mailbox + * + * See \ref Comm for the full communication API (including non blocking communications). + */ + XBT_PUBLIC(void) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put(): v3.20 will turn this warning into an error.") + send(MailboxPtr chan, void* payload, double simulatedSize); // 3.17 + XBT_PUBLIC(void) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put(): v3.20 will turn this warning into an error.") + send(MailboxPtr chan, void* payload, double simulatedSize, double timeout); // 3.17 - XBT_PUBLIC(CommPtr) - XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put_async(): v3.20 will turn this warning into an error.") - isend(MailboxPtr chan, void* payload, double simulatedSize); + XBT_PUBLIC(CommPtr) + XBT_ATTRIB_DEPRECATED_v320("Use Mailbox::put_async(): v3.20 will turn this warning into an error.") + isend(MailboxPtr chan, void* payload, double simulatedSize); - /** @brief Returns the actor ID of the current actor (same as pid). */ - XBT_PUBLIC(aid_t) getPid(); + /** @brief Returns the actor ID of the current actor (same as pid). */ + XBT_PUBLIC(aid_t) getPid(); - /** @brief Returns the ancestor's actor ID of the current actor (same as ppid). */ - XBT_PUBLIC(aid_t) getPpid(); + /** @brief Returns the ancestor's actor ID of the current actor (same as ppid). */ + XBT_PUBLIC(aid_t) getPpid(); - /** @brief Returns the name of the current actor. */ - XBT_PUBLIC(std::string) getName(); + /** @brief Returns the name of the current actor. */ + XBT_PUBLIC(std::string) getName(); - /** @brief Returns the name of the host on which the process is running. */ - XBT_PUBLIC(Host*) getHost(); + /** @brief Returns the name of the current actor as a C string. */ + XBT_PUBLIC(const char*) getCname(); - /** @brief Suspend the actor. */ - XBT_PUBLIC(void) suspend(); + /** @brief Returns the name of the host on which the process is running. */ + XBT_PUBLIC(Host*) getHost(); - /** @brief Resume the actor. */ - XBT_PUBLIC(void) resume(); + /** @brief Suspend the actor. */ + XBT_PUBLIC(void) suspend(); - XBT_PUBLIC(bool) isSuspended(); + /** @brief Resume the actor. */ + XBT_PUBLIC(void) resume(); - /** @brief kill the actor. */ - XBT_PUBLIC(void) kill(); + XBT_PUBLIC(bool) isSuspended(); - /** @brief Add a function to the list of "on_exit" functions. */ - XBT_PUBLIC(void) onExit(int_f_pvoid_pvoid_t fun, void* data); + /** @brief kill the actor. */ + XBT_PUBLIC(void) kill(); - /** @brief Migrate the actor to a new host. */ - XBT_PUBLIC(void) migrate(Host* new_host); - }; + /** @brief Add a function to the list of "on_exit" functions. */ + XBT_PUBLIC(void) onExit(int_f_pvoid_pvoid_t fun, void* data); + + /** @brief Migrate the actor to a new host. */ + XBT_PUBLIC(void) migrate(Host* new_host); + } /** @} */