Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge remote-tracking branch 'origin/master'
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 4 Feb 2019 09:45:21 +0000 (10:45 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 4 Feb 2019 09:45:21 +0000 (10:45 +0100)
include/simgrid/simix.h
src/simix/ActorImpl.cpp
src/simix/libsmx.cpp

index 74d5ad9..c17d7ec 100644 (file)
@@ -188,6 +188,7 @@ SG_BEGIN_DECL()
 XBT_ATTRIB_DEPRECATED_v324("Please use ActorImpl::throw_exception") XBT_PUBLIC
     void SIMIX_process_throw(smx_actor_t process, xbt_errcat_t cat, int value, const char* mesg);
 
+void simcall_process_set_data(smx_actor_t process, void* data);
 /* Process handling */
 XBT_PUBLIC void simcall_process_suspend(smx_actor_t process);
 XBT_PUBLIC void simcall_process_join(smx_actor_t process, double timeout);
@@ -254,6 +255,23 @@ XBT_PUBLIC e_smx_state_t simcall_io_wait(smx_activity_t io);
 /************************** MC simcalls   **********************************/
 XBT_PUBLIC int simcall_mc_random(int min, int max);
 
+/***************************** DEPRECATED CALLS ****************************/
+XBT_ATTRIB_DEPRECATED_v325("Please use sg_actor_set_kill_time()") XBT_PUBLIC
+    void simcall_process_set_kill_time(smx_actor_t process, double kill_time);
+
+XBT_ATTRIB_DEPRECATED_v325("Please use Comm::cancel()") XBT_PUBLIC void simcall_comm_cancel(smx_activity_t comm);
+
+XBT_ATTRIB_DEPRECATED_v325("Please use Exec::cancel()") XBT_PUBLIC
+    void simcall_execution_cancel(smx_activity_t execution);
+XBT_ATTRIB_DEPRECATED_v325("Please use Exec::set_priority()") XBT_PUBLIC
+    void simcall_execution_set_priority(smx_activity_t execution, double priority);
+XBT_ATTRIB_DEPRECATED_v325("Please use Exec::set_bound()") XBT_PUBLIC
+    void simcall_execution_set_bound(smx_activity_t execution, double bound);
+#ifdef __cplusplus
+XBT_ATTRIB_DEPRECATED_v325("Please use Exec::start()") XBT_PUBLIC smx_activity_t
+    simcall_execution_start(std::string name, std::string category, double flops_amount, double priority, double bound,
+                            sg_host_t host);
+#endif
 SG_END_DECL()
 
 #endif
index c1d3170..3b16efa 100644 (file)
@@ -762,3 +762,8 @@ smx_actor_t simcall_process_create(std::string name, simgrid::simix::ActorCode c
     return SIMIX_process_create(name, std::move(code), data, host, properties, self);
   });
 }
+
+void simcall_process_set_data(smx_actor_t process, void* data)
+{
+  simgrid::simix::simcall([process, data] { process->set_user_data(data); });
+}
index 6f11ad4..50962e3 100644 (file)
@@ -364,6 +364,39 @@ void unblock(smx_actor_t process)
   xbt_assert(SIMIX_is_maestro());
   SIMIX_simcall_answer(&process->simcall);
 }
+} // namespace simix
+} // namespace simgrid
 
+/* ****************************DEPRECATED CALLS******************************* */
+void simcall_process_set_kill_time(smx_actor_t process, double kill_time)
+{
+  simgrid::simix::simcall([process, kill_time] { process->set_kill_time(kill_time); });
+}
+void simcall_comm_cancel(smx_activity_t comm)
+{
+  simgrid::simix::simcall([comm] { boost::static_pointer_cast<simgrid::kernel::activity::CommImpl>(comm)->cancel(); });
+}
+void simcall_execution_cancel(smx_activity_t exec)
+{
+  simgrid::simix::simcall([exec] { boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->cancel(); });
+}
+void simcall_execution_set_priority(smx_activity_t exec, double priority)
+{
+  simgrid::simix::simcall([exec, priority] {
+    boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->set_priority(priority);
+  });
+}
+
+void simcall_execution_set_bound(smx_activity_t exec, double bound)
+{
+  simgrid::simix::simcall(
+      [exec, bound] { boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->set_bound(bound); });
 }
+
+smx_activity_t simcall_execution_start(std::string name, std::string category, double flops_amount, double priority,
+                                       double bound, sg_host_t host)
+{
+  return simgrid::simix::simcall([name, category, flops_amount, priority, bound, host] {
+    return SIMIX_execution_start(name, category, flops_amount, priority, bound, host);
+  });
 }