Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simix: change two more getter simcalls into methods
[simgrid.git] / src / simix / libsmx.cpp
index 4406c4e..b1563f0 100644 (file)
@@ -21,7 +21,8 @@
 #include "xbt/ex.h"
 #include "mc/mc.h"
 #include "src/simix/smx_host_private.h"
-#include "src/simix/smx_private.hpp"
+
+#include "src/simix/SynchroComm.hpp"
 
 #include <simgrid/simix.hpp>
 
@@ -40,57 +41,7 @@ void simcall_call(smx_process_t process)
   }
 }
 
-// ***** Host simcalls
-// Those functions are replaced by methods on the Host object.
-
-/** \ingroup simix_host_management
- * \deprecated */
-xbt_swag_t simcall_host_get_process_list(sg_host_t host)
-{
-  return host->processes();
-}
-
-/** \ingroup simix_host_management
- * \deprecated */
-double simcall_host_get_current_power_peak(sg_host_t host)
-{
-  return host->currentPowerPeak();
-}
-
-/** \ingroup simix_host_management
- * \deprecated */
-double simcall_host_get_power_peak_at(sg_host_t host, int pstate_index)
-{
-  return host->powerPeakAt(pstate_index);
-}
-
-/** \deprecated */
-void simcall_host_get_params(sg_host_t vm, vm_params_t params)
-{
-  vm->parameters(params);
-}
-
-/** \deprecated */
-void simcall_host_set_params(sg_host_t vm, vm_params_t params)
-{
-  vm->setParameters(params);
-}
-
-/** \ingroup simix_storage_management
- *  \deprecated */
-xbt_dict_t simcall_host_get_mounted_storage_list(sg_host_t host)
-{
-  return host->mountedStoragesAsDict();
-}
-
-/** \ingroup simix_storage_management
- *  \deprecated */
-xbt_dynar_t simcall_host_get_attached_storage_list(sg_host_t host)
-{
-  return host->attachedStorages();
-}
-
-// ***** Other simcalls
+// ***** AS simcalls
 
 /**
  * \ingroup simix_host_management
@@ -198,30 +149,6 @@ void simcall_execution_cancel(smx_synchro_t execution)
   simcall_BODY_execution_cancel(execution);
 }
 
-/**
- * \ingroup simix_process_management
- * \brief Returns how much of an execution synchro remains to be done.
- *
- * \param execution The execution synchro
- * \return The remaining amount
- */
-double simcall_execution_get_remains(smx_synchro_t execution)
-{
-  return simcall_BODY_execution_get_remains(execution);
-}
-
-/**
- * \ingroup simix_process_management
- * \brief Returns the state of an execution synchro.
- *
- * \param execution The execution synchro
- * \return The state
- */
-e_smx_state_t simcall_execution_get_state(smx_synchro_t execution)
-{
-  return simcall_BODY_execution_get_state(execution);
-}
-
 /**
  * \ingroup simix_process_management
  * \brief Changes the priority of an execution synchro.
@@ -603,9 +530,11 @@ void simcall_process_set_data(smx_process_t process, void *data)
   simgrid::simix::kernel(std::bind(SIMIX_process_set_data, process, data));
 }
 
-static void kill_process(void* arg)
+static void kill_process_from_timer(void* arg)
 {
-  simix_global->kill_process_function((smx_process_t) arg);
+  smx_process_t process = (smx_process_t) arg;
+  simix_global->kill_process_function(process);
+  process->kill_timer=NULL;
 }
 
 /**
@@ -619,7 +548,7 @@ void simcall_process_set_kill_time(smx_process_t process, double kill_time)
     if (simix_global->kill_process_function) {
       XBT_DEBUG("Set kill time %f for process %s(%s)",kill_time, process->name,
           sg_host_get_name(process->host));
-      process->kill_timer = SIMIX_timer_set(kill_time, kill_process, process);
+      process->kill_timer = SIMIX_timer_set(kill_time, kill_process_from_timer, process);
     }
   }
 }
@@ -738,16 +667,6 @@ smx_mailbox_t simcall_mbox_create(const char *name)
   return simcall_BODY_mbox_create(name);
 }
 
-
-/**
- *  \ingroup simix_mbox_management
- *  \brief Destroy a rendez-vous point
- *  \param mbox The rendez-vous point to destroy
- */
-void simcall_mbox_destroy(smx_mailbox_t mbox)
-{
-  simcall_BODY_mbox_destroy(mbox);
-}
 /**
  *  \ingroup simix_mbox_management
  *  \brief Returns a rendez-vous point knowing its name
@@ -761,19 +680,6 @@ smx_mailbox_t simcall_mbox_get_by_name(const char *name)
   return SIMIX_mbox_get_by_name(name);
 }
 
-/**
- *  \ingroup simix_mbox_management
- *  \brief Counts the number of communication synchros of a given host pending
- *         on a rendez-vous point.
- *  \param mbox The rendez-vous point
- *  \param host The host to be counted
- *  \return The number of comm synchros pending in the mbox
- */
-int simcall_mbox_comm_count_by_host(smx_mailbox_t mbox, sg_host_t host)
-{
-  return simcall_BODY_mbox_comm_count_by_host(mbox, host);
-}
-
 /**
  *  \ingroup simix_mbox_management
  *  \brief returns the communication at the head of the rendez-vous
@@ -899,9 +805,12 @@ smx_synchro_t simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag
 /**
  * \ingroup simix_comm_management
  */
-void simcall_comm_cancel(smx_synchro_t comm)
+void simcall_comm_cancel(smx_synchro_t synchro)
 {
-  simcall_BODY_comm_cancel(comm);
+  simgrid::simix::kernel([synchro]{
+    simgrid::simix::Comm *comm = static_cast<simgrid::simix::Comm*>(synchro);
+    comm->cancel();
+  });
 }
 
 /**
@@ -955,24 +864,6 @@ int simcall_comm_test(smx_synchro_t comm)
   return simcall_BODY_comm_test(comm);
 }
 
-/**
- * \ingroup simix_comm_management
- *
- */
-double simcall_comm_get_remains(smx_synchro_t comm)
-{
-  return simcall_BODY_comm_get_remains(comm);
-}
-
-/**
- * \ingroup simix_comm_management
- *
- */
-e_smx_state_t simcall_comm_get_state(smx_synchro_t comm)
-{
-  return simcall_BODY_comm_get_state(comm);
-}
-
 /**
  * \ingroup simix_comm_management
  *