X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/6f5ec5fdc42f96a8fe95f4b846b163d4dc92e0c8..ea9e469b934dd81706ec3f727156b9057e4cf2bb:/neighbor.h?ds=sidebyside diff --git a/neighbor.h b/neighbor.h index 52a0ef4..62b9b66 100644 --- a/neighbor.h +++ b/neighbor.h @@ -1,31 +1,49 @@ #ifndef NEIGHBOR_H #define NEIGHBOR_H -#include -#include +#include +#include +#include "hostdata.h" class neighbor { public: neighbor(const char* hostname); ~neighbor(); - const char* get_name() const { return name; } - const char* get_ctrl_mbox() const { return ctrl_mbox; } - const char* get_data_mbox() const { return data_mbox; } + // returns name, ctrl or data mbox + 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(); } - double get_load() const { return load; } - void set_load(double l) { load = l; } + // Getter and setter for load + double get_load() const { return load; } + void set_load(double amount) { load = amount; } + void add_load(double amount) { load += amount; } - double get_debt() const { return debt; } - void set_debt(double d) { debt = d; } + // 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; } + 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: - char* name; - char* ctrl_mbox; - char* data_mbox; + const hostdata* host; // pointer to this neighbor's hostdata + + double load; // the load information we know for it + double debt; // the load we had to send to it, but + // that we have not currently sent + // (in bookkeeping mode) - double load; - double debt; + double to_send; // the load we have to send to it }; #endif // !NEIGHBOR_H