X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/3bee892da3da2776214c7e51e563ec65ccb69277..8962655b3bb6d959c12a4bd9d6e1c0ddce6047cf:/loba_fairstrategy.cpp?ds=sidebyside diff --git a/loba_fairstrategy.cpp b/loba_fairstrategy.cpp index ccfd700..552f060 100644 --- a/loba_fairstrategy.cpp +++ b/loba_fairstrategy.cpp @@ -5,16 +5,11 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(loba); #include "loba_fairstrategy.h" -class compare { -public: - bool operator()(const neighbor*a, const neighbor*b) { - return a->get_load() > b->get_load(); - } -}; - void loba_fairstrategy::load_balance() { - std::sort(pneigh.begin(), pneigh.end(), compare()); + const double delta = 0.001; + + std::sort(pneigh.begin(), pneigh.end(), pneigh_load_greater()); print_loads_p(false, xbt_log_priority_debug); @@ -23,10 +18,10 @@ void loba_fairstrategy::load_balance() while (found) { found = false; for (unsigned i = 0 ; i < pneigh.size() ; ++i) { - if (pneigh[i]->get_load() <= get_load() - .002) { + if (pneigh[i]->get_load() <= get_load() - 2 * delta) { found = true; - send(pneigh[i], .001); - DEBUG1("sent to %s", pneigh[i]->get_name()); + send(pneigh[i], delta); + XBT_DEBUG("sent to %s", pneigh[i]->get_name()); } } }