X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5f6e41166f6e37688a8a735582042979ee245a36..7a4e264744a18d8953c3bd5e4a1df05f5d6088b9:/src/include/simix/simix.h diff --git a/src/include/simix/simix.h b/src/include/simix/simix.h index c26324f122..6d62fd28a6 100644 --- a/src/include/simix/simix.h +++ b/src/include/simix/simix.h @@ -171,9 +171,26 @@ XBT_PUBLIC(smx_action_t) SIMIX_action_parallel_execute(char *name, XBT_PUBLIC(char *) SIMIX_action_get_name(smx_action_t action); XBT_PUBLIC(void) SIMIX_action_signal_all(smx_action_t action); - -void SIMIX_display_process_status(void); - +XBT_PUBLIC(void) SIMIX_display_process_status(void); +/************************** Comunication Handling *****************************/ + +/* Public */ +XBT_PUBLIC(smx_rvpoint_t) SIMIX_rvpoint_create(char *name); +XBT_PUBLIC(void) SIMIX_rvpoint_destroy(smx_rvpoint_t rvp); +XBT_PUBLIC(void) SIMIX_network_send(smx_rvpoint_t rdv, void *data, size_t size, double rate, double timeout); +XBT_PUBLIC(void) SIMIX_network_recv(smx_rvpoint_t rvp, void **data, size_t *size, double timeout); +XBT_PUBLIC(void) SIMIX_network_wait(smx_action_t comm); +XBT_PUBLIC(int) SIMIX_network_test(smx_action_t comm); + +/* These should be private to SIMIX */ +smx_comm_t SIMIX_communication_new(smx_host_t src_host, smx_host_t dst_host, + smx_rvpoint_t rdv); +void SIMIX_communication_destroy(smx_comm_t comm); +smx_comm_t SIMIX_rvpoint_get_receiver(smx_rvpoint_t rvp); +smx_comm_t SIMIX_rvpoint_get_sender(smx_rvpoint_t rvp); +static inline void SIMIX_rvpoint_push(smx_rvpoint_t rvp, smx_comm_t comm); +static inline smx_cond_t SIMIX_rvpoint_get_cond(smx_rvpoint_t rvp); +static inline smx_mutex_t SIMIX_rvpoint_get_comm_mutex(smx_rvpoint_t rvp); SG_END_DECL() #endif /* _SIMIX_SIMIX_H */