X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/36f2b9a493e14c00fec410c84dfaff6a654ce929..9380d7c32eed77c15a12068a4c37d78705271837:/loba_fairstrategy.cpp diff --git a/loba_fairstrategy.cpp b/loba_fairstrategy.cpp index ba5a7d9..9942fac 100644 --- a/loba_fairstrategy.cpp +++ b/loba_fairstrategy.cpp @@ -11,9 +11,9 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(loba); */ class compare { -public : - bool operator()(const neighbor*a, const neighbor*b) { - return a->get_load()>b->get_load(); +public: + bool operator()(const neighbor*a, const neighbor*b) { + return a->get_load() > b->get_load(); } }; @@ -23,20 +23,17 @@ double loba_fairstrategy::load_balance(double my_load) print_loads_p(); - double sum_sent=0; - bool found=true; - - while(found) { - found=false; + double sum_sent = 0; + bool found = true; + + while (found) { + found = false; for (unsigned i = 0 ; i < pneigh.size() ; ++i) { - double l = pneigh[i]->get_load(); - if (l >= my_load) - continue; - if (l < my_load+2) { - found=true; - pneigh[i]->set_load(l+1); + if (pneigh[i]->get_load() <= my_load - 2) { + found = true; + pneigh[i]->add_load(1); pneigh[i]->add_to_send(1); - INFO1("sent to %s",pneigh[i]->get_name()); + INFO1("sent to %s", pneigh[i]->get_name()); my_load--; sum_sent++; }