#include <sstream>
+#include <xbt/log.h>
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(comm);
+
+#include "misc.h"
+#include "options.h"
#include "messages.h"
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();
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());
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;
}