X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/7541e1aae11493fc2da5479f385154e78714397f..16d0d07b6b60083606697f59b9ff3ae6692b09c3:/loba_fairstrategy.cpp?ds=sidebyside diff --git a/loba_fairstrategy.cpp b/loba_fairstrategy.cpp index 7495655..4ad0bff 100644 --- a/loba_fairstrategy.cpp +++ b/loba_fairstrategy.cpp @@ -17,33 +17,24 @@ public: } }; -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); - 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) { + if (pneigh[i]->get_load() <= get_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++; + send(pneigh[i], 1); + DEBUG1("sent to %s", pneigh[i]->get_name()); } } } - - return sum_sent; } // Local variables: