#define NEIGHBOR_H
#include <utility>
+#include <xbt/log.h>
#include "hostdata.h"
class neighbor {
~neighbor();
// returns name, ctrl or data mbox
- const char* get_name() const { return host->get_name(); }
+ const char* get_name() const { return host->get_name(); }
const char* get_ctrl_mbox() const { return host->get_ctrl_mbox(); }
const char* get_data_mbox() const { return host->get_data_mbox(); }
// Getter and setter for load
- double get_load() const { return load; }
- void set_load(double amount) { load = amount; }
+ double get_load() const { return load; }
+ void set_load(double amount) { load = amount; }
+ void add_load(double amount) { load += amount; }
// Getter and setter for debt
double get_debt() const { return debt; }
void set_debt(double amount) { debt = amount; }
// Getter and setter for to_send
- double get_to_send() const { return to_send; }
- void set_to_send(double amount) { to_send = amount; }
+ double get_to_send() const { return to_send; }
+ void set_to_send(double amount) { to_send = amount; }
+ void add_to_send(double amount) { to_send += amount; }
+
+ // Prints its name and load on given category, with given
+ // priority. If verbose is true, prints debt and to_send too.
+ void print(bool verbose = false,
+ e_xbt_log_priority_t logp = xbt_log_priority_info,
+ xbt_log_category_t cat = _XBT_LOGV(default)) const;
private:
const hostdata* host; // pointer to this neighbor's hostdata