X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/271654d06dedba35eab7c26069a42bac89b0cee4..ff7e29859a43a9a98d018bc7410acbb2dda47b4c:/communicator.cpp?ds=sidebyside diff --git a/communicator.cpp b/communicator.cpp index ecb207a..867d19e 100644 --- a/communicator.cpp +++ b/communicator.cpp @@ -6,7 +6,6 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(comm); #include "misc.h" -#include "options.h" #include "simgrid_features.h" #include "tracing.h" @@ -55,10 +54,7 @@ communicator::~communicator() msg_comm_t communicator::real_send(const char* dest, message* msg) { XBT_DEBUG("send %s to %s", msg->to_string().c_str(), dest); - double msg_size = sizeof *msg; - if (msg->get_type() == message::LOAD) - msg_size += opt::comm_cost(msg->get_amount()); - m_task_t task = MSG_task_create("message", 0.0, msg_size, msg); + m_task_t task = MSG_task_create("message", 0.0, msg->get_size(), msg); TRACE_msg_set_task_category(task, msg->get_type() == message::LOAD ? TRACE_CAT_DATA : TRACE_CAT_CTRL); @@ -67,9 +63,9 @@ msg_comm_t communicator::real_send(const char* dest, message* msg) void communicator::real_flush(sent_comm_type& sent_comm, bool wait) { - sent_comm_type::iterator bound; - bound = std::remove_if(sent_comm.begin(), sent_comm.end(), - comm_test_n_destroy); + sent_comm_type::iterator bound = + std::remove_if(sent_comm.begin(), sent_comm.end(), + comm_test_n_destroy); sent_comm.erase(bound, sent_comm.end()); if (wait && !sent_comm.empty()) { size_t size = sent_comm.size(); @@ -77,8 +73,7 @@ void communicator::real_flush(sent_comm_type& sent_comm, bool wait) std::copy(sent_comm.begin(), sent_comm.end(), comms); sent_comm.clear(); MSG_comm_waitall(comms, size, -1.0); - if (!MSG_WAIT_DESTROYS_COMMS) - std::for_each(comms, comms + size, comm_check_n_destroy); + std::for_each(comms, comms + size, comm_check_n_destroy); delete[] comms; } }