From: couturie Date: Sun, 30 Jan 2011 13:37:03 +0000 (+0100) Subject: Merge branch 'master' of ssh://info.iut-bm.univ-fcomte.fr/loba X-Git-Tag: v0.1~188 X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/commitdiff_plain/4e922bca67d7cf4bc30a878cd7cd46d39fbe1573?ds=sidebyside;hp=-c Merge branch 'master' of ssh://info.iut-bm.univ-fcomte.fr/loba Conflicts: loba_fairstrategy.cpp --- 4e922bca67d7cf4bc30a878cd7cd46d39fbe1573 diff --combined loba_fairstrategy.cpp index 8790892,4ad0bff..7e02a21 --- a/loba_fairstrategy.cpp +++ b/loba_fairstrategy.cpp @@@ -11,39 -11,30 +11,31 @@@ 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(); } }; - double loba_fairstrategy::load_balance(double my_load) + void loba_fairstrategy::load_balance() { std::sort(pneigh.begin(), pneigh.end(), compare()); - //print_loads_p(); - print_loads_p(false, xbt_log_priority_debug); ++ // print_loads_p(); ++ //print_loads_p(false, xbt_log_priority_debug); - double sum_sent=0; - bool found=true; - - while(found) { - found=false; + 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]->add_load(1); - pneigh[i]->add_to_send(1); - //INFO1("sent to %s",pneigh[i]->get_name()); - my_load--; - sum_sent++; + if (pneigh[i]->get_load() <= get_load() - 2) { + found = true; + send(pneigh[i], 1); + DEBUG1("sent to %s", pneigh[i]->get_name()); } } } - - return sum_sent; } // Local variables: