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

Private GIT Repository
Reintroduce process::get_sum_of_to_send().
[loba.git] / process.h
index dbf9b05a34c53cee4e2f95c96f4ce72c0a49e781..926bf1f9d064e343cd87273bdbdec41f41879cf9 100644 (file)
--- a/process.h
+++ b/process.h
@@ -21,6 +21,7 @@
 #include "msg_thread.h"
 #include "neighbor.h"
 #include "options.h"
+#include "synchro.h"
 
 class process {
 public:
@@ -97,15 +98,21 @@ private:
     double real_load;           // current load
     double expected_load;       // expected load in bookkeeping mode
 
+    mutex_t mutex;              // synchronization between threads
+    condition_t cond;
+
     // Load-balancing loop
+    msg_thread* lb_thread;
     void load_balance_loop();
 
     // Simulate computation loop
-    msg_thread* compute_thread;
     void compute_loop();
 
     bool still_running();
 
+    // Returns the sum of "to_send" for all neighbors.
+    double get_sum_of_to_send() const;
+
     // Send procedures
     void ctrl_send(neighbor& nb);
     void data_send(neighbor& nb);