Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into actor-priority
authorZitagcc <toufik.boubehziz@inria.fr>
Wed, 18 Oct 2017 13:51:08 +0000 (15:51 +0200)
committerGitHub <noreply@github.com>
Wed, 18 Oct 2017 13:51:08 +0000 (15:51 +0200)
1  2 
examples/s4u/CMakeLists.txt
examples/s4u/README.doc
include/simgrid/s4u/Actor.hpp
src/s4u/s4u_actor.cpp

@@@ -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()
Simple merge
@@@ -286,83 -286,83 +286,86 @@@ template <class Rep, class Period> inli
  {
    auto seconds = std::chrono::duration_cast<SimulationClockDuration>(duration);
    this_actor::sleep_for(seconds.count());
-   }
-   template<class Duration>
-   inline void sleep_until(const SimulationTimePoint<Duration>& timeout_time)
-   {
-     auto timeout_native = std::chrono::time_point_cast<SimulationClockDuration>(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 <class Duration> inline void sleep_until(const SimulationTimePoint<Duration>& timeout_time)
+ {
+   auto timeout_native = std::chrono::time_point_cast<SimulationClockDuration>(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);
+ }
  
  /** @} */
  
Simple merge