]> AND Private Git Repository - loba.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Make communicator::recv() inline.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 9 Feb 2011 15:29:08 +0000 (16:29 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 9 Feb 2011 15:29:08 +0000 (16:29 +0100)
communicator.cpp
communicator.h
messages.cpp

index ce0e79f15ccaa75a8f1ecfe5932e3ac69adfd241..fd01ac91b585074fa2b891daaf3dec8f0ac8deb6 100644 (file)
@@ -75,16 +75,6 @@ void communicator::flush(bool wait)
     }
 }
 
     }
 }
 
-bool communicator::recv(message*& msg, m_host_t& from, double timeout)
-{
-    XBT_DEBUG("waiting for a message to come");
-    bool recvd = received.pop(msg, from, timeout);
-    if (recvd)
-        XBT_DEBUG("received %s from %s",
-                  msg->to_string().c_str(), MSG_host_get_name(from));
-    return recvd;
-}
-
 void communicator::receiver()
 {
     xbt_dynar_t comms = xbt_dynar_new(sizeof(msg_comm_t), NULL);
 void communicator::receiver()
 {
     xbt_dynar_t comms = xbt_dynar_new(sizeof(msg_comm_t), NULL);
index ce74f077f5b86e33af81d6a91e96d181d34fa558..f9d096ae9371297f9797911805b5690cf7f408b3 100644 (file)
@@ -24,7 +24,9 @@ public:
     // Try to get a message.  Returns true on success.
     // Parameter "timeout" may be 0 for non-blocking operation, -1 for
     // infinite waiting, or any positive timeout.
     // Try to get a message.  Returns true on success.
     // Parameter "timeout" may be 0 for non-blocking operation, -1 for
     // infinite waiting, or any positive timeout.
-    bool recv(message*& msg, m_host_t& from, double timeout);
+    bool recv(message*& msg, m_host_t& from, double timeout) {
+        return received.pop(msg, from, timeout);
+    }
 
 private:
     // Myself
 
 private:
     // Myself
index 2fa48618e64cc28116b666ba8f451e7ef9fb5b9d..0abf913987782ce2399d3f9285c20235c45135d6 100644 (file)
@@ -1,4 +1,9 @@
 #include <sstream>
 #include <sstream>
+#include <xbt/log.h>
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(comm);
+
+#include "misc.h"
 
 #include "messages.h"
 
 
 #include "messages.h"
 
@@ -27,6 +32,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;
         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());
             TRY {
                 if (deadline)
                     cond.timedwait(mutex, deadline - MSG_get_clock());
@@ -51,5 +57,8 @@ bool message_queue::pop(message*& msg, m_host_t& from, double timeout)
     from = MSG_task_get_source(task);
     MSG_task_destroy(task);
 
     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;
 }
     return true;
 }