X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e81b0628a697bddad304e69a82d898299ff9fe40..0a95c78251f3ecbf1dfcb3ebe7904e44acf1beef:/include/simgrid/simix.h diff --git a/include/simgrid/simix.h b/include/simgrid/simix.h index 9033727663..1e1e16a8d9 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 @@ -205,7 +205,6 @@ XBT_PUBLIC(void) SIMIX_process_detach(); /*********************************** Host *************************************/ XBT_PUBLIC(sg_host_t) SIMIX_host_self(); XBT_PUBLIC(const char*) SIMIX_host_self_get_name(); -XBT_PUBLIC(void) SIMIX_host_on(sg_host_t host); XBT_PUBLIC(void) SIMIX_host_off(sg_host_t host, smx_actor_t issuer); XBT_PUBLIC(void) SIMIX_host_self_set_data(void *data); XBT_PUBLIC(void*) SIMIX_host_self_get_data(); @@ -249,41 +248,20 @@ 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(void*) 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, xbt_main_func_t code, void *data, - const char *hostname, - double kill_time, + sg_host_t host, int argc, char **argv, xbt_dict_t properties, int auto_restart); @@ -300,7 +278,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); @@ -315,12 +292,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, @@ -411,10 +382,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);