/** * \ingroup simix_comm_management */ smx_action_t simcall_comm_isend(smx_rdv_t rdv, double task_size, double rate, void *src_buff, size_t src_buff_size, int (*match_fun)(void *, void *, smx_action_t), void (*clean_fun)(void *), void *data, int detached) { /* checking for infinite values */ xbt_assert(isfinite(task_size), "task_size is not finite!"); xbt_assert(isfinite(rate), "rate is not finite!"); xbt_assert(rdv, "No rendez-vous point defined for isend"); return simcall_BODY_comm_isend(rdv, task_size, rate, src_buff, src_buff_size, match_fun, clean_fun, data, detached); }
/** * \ingroup simix_comm_management */ smx_synchro_t simcall_comm_isend(smx_process_t sender, smx_mailbox_t mbox, double task_size, double rate, void *src_buff, size_t src_buff_size, int (*match_fun)(void *, void *, smx_synchro_t), void (*clean_fun)(void *), void (*copy_data_fun)(smx_synchro_t, void*, size_t), void *data, int detached) { /* checking for infinite values */ xbt_assert(std::isfinite(task_size), "task_size is not finite!"); xbt_assert(std::isfinite(rate), "rate is not finite!"); xbt_assert(mbox, "No rendez-vous point defined for isend"); return simcall_BODY_comm_isend(sender, mbox, task_size, rate, src_buff, src_buff_size, match_fun, clean_fun, copy_data_fun, data, detached); }