X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/f4125505064e3ff346b31ab9e48f894672e5a7a7..825abbb3bde6c35ab1d1cdfba25fba4be5dcea2f:/neighbor.h?ds=sidebyside diff --git a/neighbor.h b/neighbor.h index 4bd05a9..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.c_str(); } - const char* get_ctrl_mbox() const { return ctrl_mbox.c_str(); } - const char* get_data_mbox() const { return data_mbox.c_str(); } + // 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: - std::string name; - std::string ctrl_mbox; - std::string 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