X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/42a5c2c5fa27026391c465eb71f8c6486b6af403..e3d5991eca6de3227dcd3efc36a0f415a45aedf9:/include/simgrid/simix.h diff --git a/include/simgrid/simix.h b/include/simgrid/simix.h index a0e8e675d3..b2b8b32d0c 100644 --- a/include/simgrid/simix.h +++ b/include/simgrid/simix.h @@ -7,14 +7,10 @@ #ifndef _SIMIX_SIMIX_H #define _SIMIX_SIMIX_H -#include "xbt/misc.h" -#include "xbt/fifo.h" -#include "xbt/dict.h" -#include "xbt/function_types.h" -#include "xbt/parmap.h" -#include "xbt/swag.h" #include "simgrid/datatypes.h" #include "simgrid/host.h" +#include "xbt/ex.h" +#include "xbt/parmap.h" #ifdef __cplusplus @@ -23,9 +19,13 @@ namespace kernel { namespace context { class Context; class ContextFactory; -}} + } + namespace activity { + class MailboxImpl; + } + } -namespace simix { + namespace simix { /** @brief Process datatype @ingroup simix_process_management @@ -36,14 +36,13 @@ namespace simix { @{ */ class ActorImpl; class Mutex; - class Mailbox; } } typedef simgrid::kernel::context::Context *smx_context_t; typedef simgrid::simix::ActorImpl *smx_actor_t; typedef simgrid::simix::Mutex *smx_mutex_t; -typedef simgrid::simix::Mailbox *smx_mailbox_t; +typedef simgrid::kernel::activity::MailboxImpl* smx_mailbox_t; #else @@ -80,6 +79,7 @@ typedef enum { SIMIX_FAILED, SIMIX_SRC_HOST_FAILURE, SIMIX_DST_HOST_FAILURE, + SIMIX_TIMEOUT, SIMIX_SRC_TIMEOUT, SIMIX_DST_TIMEOUT, SIMIX_LINK_FAILURE @@ -248,34 +248,14 @@ XBT_PUBLIC(void) simcall_host_set_data(sg_host_t host, void *data); XBT_PUBLIC(smx_activity_t) simcall_execution_start(const char *name, double flops_amount, double priority, double bound); -XBT_PUBLIC(smx_activity_t) simcall_execution_parallel_start(const char *name, - int host_nb, - sg_host_t *host_list, - double *flops_amount, - double *bytes_amount, - double amount, - double rate); +XBT_PUBLIC(smx_activity_t) +simcall_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double amount, double rate, double timeout); XBT_PUBLIC(void) simcall_execution_cancel(smx_activity_t execution); XBT_PUBLIC(void) simcall_execution_set_priority(smx_activity_t execution, double priority); XBT_PUBLIC(void) simcall_execution_set_bound(smx_activity_t execution, double bound); XBT_PUBLIC(e_smx_state_t) simcall_execution_wait(smx_activity_t execution); -/******************************* VM simcalls ********************************/ -// Create the vm_workstation at the SURF level -XBT_PUBLIC(sg_host_t) simcall_vm_create(const char *name, sg_host_t host); -XBT_PUBLIC(int) simcall_vm_get_state(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_start(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_migrate(sg_host_t vm, sg_host_t dst_pm); -XBT_PUBLIC(void *) simcall_vm_get_pm(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_set_bound(sg_host_t vm, double bound); -XBT_PUBLIC(void) simcall_vm_resume(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm); -XBT_PUBLIC(void) simcall_vm_save(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_restore(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_suspend(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_destroy(sg_host_t vm); -XBT_PUBLIC(void) simcall_vm_shutdown(sg_host_t vm); - /**************************** Process simcalls ********************************/ /* Constructor and Destructor */ XBT_PUBLIC(smx_actor_t) simcall_process_create(const char *name, @@ -299,7 +279,6 @@ XBT_PUBLIC(void) simcall_process_resume(smx_actor_t process); /* Getters and Setters */ XBT_PUBLIC(int) simcall_process_count(); -XBT_PUBLIC(void *) simcall_process_get_data(smx_actor_t process); XBT_PUBLIC(void) simcall_process_set_data(smx_actor_t process, void *data); XBT_PUBLIC(void) simcall_process_set_host(smx_actor_t process, sg_host_t dest); XBT_PUBLIC(int) simcall_process_is_suspended(smx_actor_t process); @@ -314,12 +293,6 @@ XBT_PUBLIC(void) simcall_process_join(smx_actor_t process, double timeout); XBT_PUBLIC(e_smx_state_t) simcall_process_sleep(double duration); /************************** Comunication simcalls *****************************/ -/***** Rendez-vous points *****/ - -XBT_PUBLIC(smx_mailbox_t) simcall_mbox_create(const char *name); -XBT_PUBLIC(void) simcall_mbox_set_receiver(smx_mailbox_t mbox , smx_actor_t process); - -/***** Communication simcalls *****/ XBT_PUBLIC(void) simcall_comm_send(smx_actor_t sender, smx_mailbox_t mbox, double task_size, double rate, void *src_buff, @@ -410,10 +383,6 @@ XBT_PUBLIC(xbt_dict_t) simcall_storage_get_content(smx_storage_t storage); XBT_PUBLIC(const char*) SIMIX_storage_get_name(smx_storage_t storage); XBT_PUBLIC(sg_size_t) SIMIX_storage_get_size(smx_storage_t storage); XBT_PUBLIC(const char*) SIMIX_storage_get_host(smx_storage_t storage); -/************************** AS router **********************************/ -XBT_PUBLIC(xbt_dict_t) SIMIX_asr_get_properties(const char *name); -/************************** AS router simcalls ***************************/ -XBT_PUBLIC(xbt_dict_t) simcall_asr_get_properties(const char *name); /************************** MC simcalls **********************************/ XBT_PUBLIC(int) simcall_mc_random(int min, int max);