예제 #1
0
/**
 * \ingroup simix_comm_management
 */
smx_action_t simcall_comm_irecv(smx_rdv_t rdv, void *dst_buff, size_t *dst_buff_size,
                                  int (*match_fun)(void *, void *, smx_action_t), void *data)
{
  xbt_assert(rdv, "No rendez-vous point defined for irecv");

  return simcall_BODY_comm_irecv(rdv, dst_buff, dst_buff_size, 
                                 match_fun, data);
}
예제 #2
0
/**
 * \ingroup simix_comm_management
 */
smx_synchro_t simcall_comm_irecv(smx_process_t receiver, smx_mailbox_t mbox, void *dst_buff, size_t *dst_buff_size,
                                int (*match_fun)(void *, void *, smx_synchro_t),
                                void (*copy_data_fun)(smx_synchro_t, void*, size_t),
                                void *data, double rate)
{
  xbt_assert(mbox, "No rendez-vous point defined for irecv");

  return simcall_BODY_comm_irecv(receiver, mbox, dst_buff, dst_buff_size,
                                 match_fun, copy_data_fun, data, rate);
}