]> AND Private Git Repository - loba.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Define neighbor::add_load, and use it.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Fri, 17 Dec 2010 17:19:29 +0000 (18:19 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Fri, 17 Dec 2010 17:19:29 +0000 (18:19 +0100)
loba_fairstrategy.cpp
loba_simple.cpp
neighbor.h

index ba5a7d9f12720f90050a5fa0e0517bd8ba6e05b9..4573776936e660dbdf29370c224f9e538b808012 100644 (file)
@@ -34,7 +34,7 @@ double loba_fairstrategy::load_balance(double my_load)
                 continue;
             if (l < my_load+2) {
                 found=true;
-                pneigh[i]->set_load(l+1);
+                pneigh[i]->add_load(1);
                 pneigh[i]->add_to_send(1);
                 INFO1("sent to %s",pneigh[i]->get_name());
                 my_load--;
index d79ead5b41af70f619175c491c0e8c6105d9e943..5702fba8a667fb76d6c982bd495769f1363adec2 100644 (file)
@@ -32,7 +32,7 @@ double loba_simple::load_balance(double my_load)
         double balance = (my_load - min) / 2;
         DEBUG6("%d:%g %d:%g %g %g", imin, min, imax, max, my_load, balance);
         pneigh[imin]->set_to_send(balance);
-                               pneigh[imin]->set_load(min+balance);
+        pneigh[imin]->add_load(balance);
         return balance;
     } else {
         return 0.0;
index ba50f2e45871f3702e22533f1808d17aa92bd868..62b9b66bf90488b95a5c53f509cbbdfcff281401 100644 (file)
@@ -11,21 +11,22 @@ public:
     ~neighbor();
 
     // returns name, ctrl or data mbox
-    const char* get_name() const        { return host->get_name(); }
+    const char* get_name() const        { return host->get_name();      }
     const char* get_ctrl_mbox() const   { return host->get_ctrl_mbox(); }
     const char* get_data_mbox() const   { return host->get_data_mbox(); }
 
     // Getter and setter for load
-    double get_load() const             { return load;   }
-    void set_load(double amount)        { load = amount; }
+    double get_load() const             { return load;    }
+    void set_load(double amount)        { load = amount;  }
+    void add_load(double amount)        { load += amount; }
 
     // Getter and setter for debt
     double get_debt() const             { return debt;   }
     void set_debt(double amount)        { debt = amount; }
 
     // Getter and setter for to_send
-    double get_to_send() const          { return to_send;   }
-    void set_to_send(double amount)     { to_send = amount; }
+    double get_to_send() const          { return to_send;    }
+    void set_to_send(double amount)     { to_send = amount;  }
     void add_to_send(double amount)     { to_send += amount; }
 
     // Prints its name and load on given category, with given