From: Arnaud Giersch Date: Fri, 17 Dec 2010 17:19:29 +0000 (+0100) Subject: Define neighbor::add_load, and use it. X-Git-Tag: v0.1~218 X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/commitdiff_plain/4096be9a95ef90a463f9721817750ad84f141b0a?ds=inline Define neighbor::add_load, and use it. --- diff --git a/loba_fairstrategy.cpp b/loba_fairstrategy.cpp index ba5a7d9..4573776 100644 --- a/loba_fairstrategy.cpp +++ b/loba_fairstrategy.cpp @@ -34,7 +34,7 @@ double loba_fairstrategy::load_balance(double my_load) continue; if (l < my_load+2) { found=true; - pneigh[i]->set_load(l+1); + pneigh[i]->add_load(1); pneigh[i]->add_to_send(1); INFO1("sent to %s",pneigh[i]->get_name()); my_load--; diff --git a/loba_simple.cpp b/loba_simple.cpp index d79ead5..5702fba 100644 --- a/loba_simple.cpp +++ b/loba_simple.cpp @@ -32,7 +32,7 @@ double loba_simple::load_balance(double my_load) double balance = (my_load - min) / 2; DEBUG6("%d:%g %d:%g %g %g", imin, min, imax, max, my_load, balance); pneigh[imin]->set_to_send(balance); - pneigh[imin]->set_load(min+balance); + pneigh[imin]->add_load(balance); return balance; } else { return 0.0; diff --git a/neighbor.h b/neighbor.h index ba50f2e..62b9b66 100644 --- a/neighbor.h +++ b/neighbor.h @@ -11,21 +11,22 @@ public: ~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