Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
deprecate 2 more SIMIX functions
[simgrid.git] / src / kernel / activity / CommImpl.cpp
index 67a94e8..ba477b8 100644 (file)
@@ -3,18 +3,17 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#include <simgrid/Exception.hpp>
+#include <simgrid/kernel/routing/NetPoint.hpp>
+#include <simgrid/modelchecker.h>
+#include <simgrid/s4u/Host.hpp>
+
 #include "src/kernel/activity/CommImpl.hpp"
-#include "simgrid/Exception.hpp"
-#include "simgrid/kernel/resource/Action.hpp"
-#include "simgrid/kernel/routing/NetPoint.hpp"
-#include "simgrid/modelchecker.h"
-#include "simgrid/s4u/Host.hpp"
 #include "src/kernel/activity/MailboxImpl.hpp"
 #include "src/kernel/context/Context.hpp"
 #include "src/mc/mc_replay.hpp"
 #include "src/surf/cpu_interface.hpp"
 #include "src/surf/network_interface.hpp"
-#include "src/surf/surf_interface.hpp"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_network, simix, "SIMIX network-related synchronization");
 
@@ -212,28 +211,23 @@ void SIMIX_comm_set_copy_data_callback(void (*callback)(simgrid::kernel::activit
   simgrid::kernel::activity::CommImpl::set_copy_data_callback(callback);
 }
 
+// XBT_ATTRIB_DEPRECATED_v333
 void SIMIX_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size)
 {
-  XBT_DEBUG("Copy the data over");
-  memcpy(comm->dst_buff_, buff, buff_size);
-  if (comm->detached()) { // if this is a detached send, the source buffer was duplicated by SMPI sender to make the
-                          // original buffer available to the application ASAP
-    xbt_free(buff);
-    comm->src_buff_ = nullptr;
-  }
+  simgrid::s4u::Comm::copy_buffer_callback(comm, buff, buff_size);
 }
 
+// XBT_ATTRIB_DEPRECATED_v333
 void SIMIX_comm_copy_pointer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size)
 {
-  xbt_assert((buff_size == sizeof(void*)), "Cannot copy %zu bytes: must be sizeof(void*)", buff_size);
-  *(void**)(comm->dst_buff_) = buff;
+  simgrid::s4u::Comm::copy_pointer_callback(comm, buff, buff_size);
 }
 
 namespace simgrid {
 namespace kernel {
 namespace activity {
 
-void (*CommImpl::copy_data_callback_)(CommImpl*, void*, size_t) = &SIMIX_comm_copy_pointer_callback;
+void (*CommImpl::copy_data_callback_)(CommImpl*, void*, size_t) = &s4u::Comm::copy_pointer_callback;
 
 void CommImpl::set_copy_data_callback(void (*callback)(CommImpl*, void*, size_t))
 {
@@ -580,8 +574,8 @@ void CommImpl::finish()
         simcall->timeout_cb_ = nullptr;
       }
       if (not MC_is_active() && not MC_record_replay_is_active()) {
-        CommImpl** element = std::find(comms, comms + count, this);
-        ssize_t rank       = (element != comms + count) ? element - comms : -1;
+        auto element = std::find(comms, comms + count, this);
+        ssize_t rank = (element != comms + count) ? element - comms : -1;
         simcall_comm_waitany__set__result(simcall, rank);
       }
     }
@@ -673,8 +667,8 @@ void CommImpl::finish()
         comms = simcall_comm_testany__get__comms(simcall);
         count = simcall_comm_testany__get__count(simcall);
       }
-      CommImpl** element = std::find(comms, comms + count, this);
-      ssize_t rank       = (element != comms + count) ? element - comms : -1;
+      auto element = std::find(comms, comms + count, this);
+      ssize_t rank = (element != comms + count) ? element - comms : -1;
       // In order to modify the exception we have to rethrow it:
       try {
         std::rethrow_exception(simcall->issuer_->exception_);