Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix test action ti-tracing, it needs to behave like a wait
[simgrid.git] / src / s4u / s4u_Comm.cpp
index 14ffd37..81f3df1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2006-2022. The SimGrid Team. All rights reserved.          */
 
 /* 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. */
@@ -26,7 +26,7 @@ xbt::signal<void(Comm const&)> Comm::on_completion;
 Comm::~Comm()
 {
   if (state_ == State::STARTED && not detached_ &&
-      (pimpl_ == nullptr || pimpl_->state_ == kernel::activity::State::RUNNING)) {
+      (pimpl_ == nullptr || pimpl_->get_state() == kernel::activity::State::RUNNING)) {
     XBT_INFO("Comm %p freed before its completion. Did you forget to detach it? (state: %s)", this, get_state_str());
     if (pimpl_ != nullptr)
       XBT_INFO("pimpl_->state: %s", pimpl_->get_state_str());
@@ -46,7 +46,7 @@ ssize_t Comm::wait_any_for(const std::vector<CommPtr>& comms, double timeout)
     changed_pos = simcall_comm_waitany(rcomms.data(), rcomms.size(), timeout);
   } catch (const NetworkFailureException& e) {
     for (auto c : comms) {
-      if (c->pimpl_->state_ == kernel::activity::State::FAILED) {
+      if (c->pimpl_->get_state() == kernel::activity::State::FAILED) {
         c->complete(State::FAILED);
       }
     }
@@ -221,12 +221,12 @@ Comm* Comm::start()
   } else if (src_buff_ != nullptr) { // Sender side
     on_send(*this);
     pimpl_ = simcall_comm_isend(sender_, mailbox_->get_impl(), remains_, rate_, src_buff_, src_buff_size_, match_fun_,
-                                clean_fun_, copy_data_function_, get_user_data(), detached_);
+                                clean_fun_, copy_data_function_, get_data<void>(), detached_);
   } else if (dst_buff_ != nullptr) { // Receiver side
     xbt_assert(not detached_, "Receive cannot be detached");
     on_recv(*this);
     pimpl_ = simcall_comm_irecv(receiver_, mailbox_->get_impl(), dst_buff_, &dst_buff_size_, match_fun_,
-                                copy_data_function_, get_user_data(), rate_);
+                                copy_data_function_, get_data<void>(), rate_);
 
   } else {
     xbt_die("Cannot start a communication before specifying whether we are the sender or the receiver");
@@ -265,12 +265,12 @@ Comm* Comm::wait_for(double timeout)
       } else if (src_buff_ != nullptr) {
         on_send(*this);
         simcall_comm_send(sender_, mailbox_->get_impl(), remains_, rate_, src_buff_, src_buff_size_, match_fun_,
-                          copy_data_function_, get_user_data(), timeout);
+                          copy_data_function_, get_data<void>(), timeout);
 
       } else { // Receiver
         on_recv(*this);
         simcall_comm_recv(receiver_, mailbox_->get_impl(), dst_buff_, &dst_buff_size_, match_fun_, copy_data_function_,
-                          get_user_data(), timeout, rate_);
+                          get_data<void>(), timeout, rate_);
       }
       break;