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

Private GIT Repository
Use a shorter name for function in deployment_generator.
[loba.git] / neighbor.h
index 4bd05a9d86d0965fb5a2c2c82c4eebe56c57ccda..9607c072f49c8dbd5de11adab45e3eaca3746e81 100644 (file)
@@ -1,31 +1,40 @@
 #ifndef NEIGHBOR_H
 #define NEIGHBOR_H
 
 #ifndef NEIGHBOR_H
 #define NEIGHBOR_H
 
-#include <limits>
-#include <string>
+#include <utility>
+#include "hostdata.h"
 
 class neighbor {
 public:
     neighbor(const char* hostname);
     ~neighbor();
 
 
 class neighbor {
 public:
     neighbor(const char* hostname);
     ~neighbor();
 
-    const char* get_name() const        { return name.c_str(); }
-    const char* get_ctrl_mbox() const   { return ctrl_mbox.c_str(); }
-    const char* get_data_mbox() const   { return data_mbox.c_str(); }
+    // returns name, ctrl or data mbox
+    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(); }
 
 
-    double get_load() const             { return load; }
-    void set_load(double l)             { load = l;    }
+    // Getter and setter for load
+    double get_load() const             { return load;   }
+    void set_load(double amount)        { load = amount; }
 
 
-    double get_debt() const             { return debt; }
-    void set_debt(double d)             { debt = d;    }
+    // 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; }
 
 private:
 
 private:
-    std::string name;
-    std::string ctrl_mbox;
-    std::string data_mbox;
+    const hostdata* host;       // pointer to this neighbor's hostdata
+
+    double load;                // the load information we know for it
+    double debt;                // the load we had to send to it, but
+                                // that we have not currently sent
+                                // (in bookkeeping mode)
 
 
-    double load;
-    double debt;
+    double to_send;             // the load we have to send to it
 };
 
 #endif // !NEIGHBOR_H
 };
 
 #endif // !NEIGHBOR_H