-#include <xbt/sysdep.h>
+#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)
+ : 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)
{
- load = std::numeric_limits<double>::infinity();
- debt = 0.0;
- name = xbt_strdup(hostname);
- ctrl_mbox = bprintf("%s_ctrl", hostname);
- data_mbox = bprintf("%s_data", hostname);
}
neighbor::~neighbor()
{
- free(data_mbox);
- free(ctrl_mbox);
- free(name);
+}
+
+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());
}