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

Private GIT Repository
Be consistent and hold mutex in any case when returning from condition_t::timedwait().
[loba.git] / neighbor.cpp
index 8715396e9d2be53313dc35c85a34e88b19ba3a8d..e0925dac6d616809b9f1d0af9e79fa775a837d03 100644 (file)
@@ -1,16 +1,34 @@
+#include <limits>
+#include <msg/msg.h>
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(proc); // needed to compile neighbor.h
+
+#include "misc.h"
+
 #include "neighbor.h"
 
 neighbor::neighbor(const char* hostname)
-    : name(hostname)
-    , ctrl_mbox(hostname)
-    , data_mbox(hostname)
+    : host(static_cast<hostdata*>
+           (MSG_host_get_data(MSG_get_host_by_name(hostname))))
     , load(std::numeric_limits<double>::infinity())
     , debt(0.0)
+    , credit(0.0)
+    , to_send(0.0)
 {
-    ctrl_mbox += "_ctrl";
-    data_mbox += "_data";
 }
 
 neighbor::~neighbor()
 {
 }
+
+void neighbor::print(bool verbose,
+                     e_xbt_log_priority_t logp, xbt_log_category_t cat) const
+{
+    if (verbose)
+        XBT_XCLOG(cat, logp,
+                  "%s: load = %g ; debt = %g ; credit = %g ; to_send = %g",
+                  get_name(), get_load(), get_debt(), get_credit(),
+                  get_to_send());
+    else
+        XBT_XCLOG(cat, logp, "%s: load = %g", get_name(), get_load());
+}