Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add wrapper to match receiving mailboxes against a user-provided filter
authorpini <pini@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 14 Mar 2011 14:47:43 +0000 (14:47 +0000)
committerpini <pini@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 14 Mar 2011 14:47:43 +0000 (14:47 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9789 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/simix/simix.h
src/simix/smx_network.c

index e748910..8505fd9 100644 (file)
@@ -72,6 +72,7 @@ XBT_PUBLIC(void) SIMIX_process_set_context(smx_process_t p,smx_context_t c);
 XBT_PUBLIC(void) SIMIX_comm_set_copy_data_callback(void (*callback) (smx_action_t, size_t));
 XBT_PUBLIC(void) SIMIX_comm_copy_pointer_callback(smx_action_t comm, size_t buff_size);
 XBT_PUBLIC(void) SIMIX_comm_copy_buffer_callback(smx_action_t comm, size_t buff_size);
+XBT_PUBLIC(smx_action_t) SIMIX_comm_get_send_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data);
 
 /******************************************************************************/
 /*                        SIMIX Smurf Proxy Functions                         */
index 0023ad9..a795bd2 100644 (file)
@@ -117,6 +117,10 @@ static XBT_INLINE void SIMIX_rdv_remove(smx_rdv_t rdv, smx_action_t comm)
   comm->comm.rdv = NULL;
 }
 
+smx_action_t SIMIX_comm_get_send_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data) {
+   return SIMIX_rdv_get_request(rdv, SIMIX_COMM_SEND, match_fun, data);
+}
+
 /**
  *  \brief Checks if there is a communication action queued in a rendez-vous matching our needs
  *  \param type The type of communication we are looking for (comm_send, comm_recv)