X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/7154ea8a74d7566156c7e65034fdbad45d230cf5..5d1712c42d9e55e896c0a7d2acec2fde03bfc3d7:/process.h diff --git a/process.h b/process.h index ed6e6cf..8a9e74c 100644 --- a/process.h +++ b/process.h @@ -5,10 +5,10 @@ //#undef USE_UNORDERED_MAP #include -#include +#include #ifdef USE_UNORDERED_MAP -# include -# define MAP_TEMPLATE std::tr1::unordered_map +# include +# define MAP_TEMPLATE std::unordered_map #else # include # define MAP_TEMPLATE std::map @@ -102,6 +102,7 @@ private: // a same information messages double real_load; // current load double expected_load; // expected load in bookkeeping mode + double received_load; // load received from neighbors mutex_t mutex; // synchronization between threads condition_t cond; @@ -152,6 +153,9 @@ private: // Returns the sum of "to_send" for all neighbors. double get_sum_of_to_send() const; + // Compute load_to_send (for data_send), subject to the execution parameters + static double compute_load_to_send(double desired); + // Send procedures void ctrl_send(neighbor& nb); void data_send(neighbor& nb); @@ -169,13 +173,12 @@ private: template void process::pneigh_sort_by_load(const Compare& comp) { - using std::tr1::bind; - using std::tr1::placeholders::_1; - using std::tr1::placeholders::_2; + using std::placeholders::_1; + using std::placeholders::_2; std::sort(pneigh.begin(), pneigh.end(), - bind(comp, - bind(&neighbor::get_load, _1), - bind(&neighbor::get_load, _2))); + std::bind(comp, + std::bind(&neighbor::get_load, _1), + std::bind(&neighbor::get_load, _2))); } #endif // !PROCESS_H