Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add support for custom communication matching to SIMIX network interface
[simgrid.git] / src / simix / smx_smurf.c
index fd7514d..b01ce7b 100644 (file)
@@ -56,7 +56,7 @@ void SIMIX_request_answer(smx_req_t req)
   }
 }
 
-int SIMIX_request_isVisible(smx_req_t req)
+int SIMIX_request_is_visible(smx_req_t req)
 {
   return req->call == REQ_COMM_ISEND
      || req->call == REQ_COMM_IRECV
@@ -65,7 +65,7 @@ int SIMIX_request_isVisible(smx_req_t req)
      || req->call == REQ_COMM_TEST;
 }
 
-int SIMIX_request_isEnabled(smx_req_t req)
+int SIMIX_request_is_enabled(smx_req_t req)
 {
   unsigned int index = 0;
   smx_action_t act;
@@ -311,6 +311,7 @@ void SIMIX_request_pre(smx_req_t req)
          req->comm_isend.rate,
          req->comm_isend.src_buff,
          req->comm_isend.src_buff_size,
+         req->comm_isend.match_fun,
          req->comm_isend.data);
       SIMIX_request_answer(req);
       break;
@@ -320,7 +321,9 @@ void SIMIX_request_pre(smx_req_t req)
          req->issuer,
          req->comm_irecv.rdv,
          req->comm_irecv.dst_buff,
-         req->comm_irecv.dst_buff_size);
+         req->comm_irecv.dst_buff_size,
+         req->comm_irecv.match_fun,
+         req->comm_irecv.data);
       SIMIX_request_answer(req);
       break;
 
@@ -346,6 +349,10 @@ void SIMIX_request_pre(smx_req_t req)
       SIMIX_pre_comm_test(req);
       break;
 
+    case REQ_COMM_TESTANY:
+      SIMIX_pre_comm_testany(req);
+      break;
+
     case REQ_COMM_GET_REMAINS:
       req->comm_get_remains.result = 
         SIMIX_comm_get_remains(req->comm_get_remains.comm);
@@ -407,6 +414,15 @@ void SIMIX_request_pre(smx_req_t req)
       break;
 #endif
 
+#ifdef HAVE_TRACING
+    case REQ_SET_CATEGORY:
+      SIMIX_set_category(
+          req->set_category.action,
+          req->set_category.category);
+      SIMIX_request_answer(req);
+      break;
+#endif
+
     case REQ_MUTEX_INIT:
       req->mutex_init.result = SIMIX_mutex_init();
       SIMIX_request_answer(req);