X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/892e36c1af3105e5f548a4ef8b9f777b95d47fc2..eb7e1829730ff7ebb5cd4c366e435197321ae27a:/messages.cpp?ds=sidebyside diff --git a/messages.cpp b/messages.cpp index 2fa4861..f5df396 100644 --- a/messages.cpp +++ b/messages.cpp @@ -1,4 +1,10 @@ #include +#include + +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(comm); + +#include "misc.h" +#include "options.h" #include "messages.h" @@ -11,6 +17,15 @@ std::string message::to_string() return oss.str(); } +double message::get_size() const +{ + // arbitrary: 8 for type, and 8 for amount + double size = 16; + if (type == LOAD) + size += opt::comm_cost(amount); + return size; +} + void message_queue::push(m_task_t task) { mutex.acquire(); @@ -27,6 +42,7 @@ bool message_queue::pop(message*& msg, m_host_t& from, double timeout) mutex.acquire(); while (queue.empty() && (!deadline || deadline > MSG_get_clock())) { xbt_ex_t e; + XBT_DEBUG("waiting for a message to come"); TRY { if (deadline) cond.timedwait(mutex, deadline - MSG_get_clock()); @@ -51,5 +67,8 @@ bool message_queue::pop(message*& msg, m_host_t& from, double timeout) from = MSG_task_get_source(task); MSG_task_destroy(task); + XBT_DEBUG("received %s from %s", + msg->to_string().c_str(), MSG_host_get_name(from)); + return true; }