*/
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();
}
};
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++;
}