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 1c21595..b01ce7b 100644 (file)
@@ -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);