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

Private GIT Repository
Merge branch 'master' of ssh://info.iut-bm.univ-fcomte.fr/loba
[loba.git] / communicator.h
index ba4b86e96598cb06b68db102996f4b8e0ef194b3..b04301ad87574aff718d3fc7b8539d1973183bab 100644 (file)
@@ -9,6 +9,14 @@
 #include <msg/msg.h>
 #include "hostdata.h"
 
+// Cannot include "options.h" without error, so only declare the
+// needed functions.
+namespace opt {
+    bool parse_args(int* argc, char* argv[]);
+    void print();
+    void usage();
+}
+
 class message {
 public:
     enum message_type { INFO, CREDIT, LOAD, CTRL_CLOSE, DATA_CLOSE };
@@ -51,7 +59,7 @@ private:
 
     // List of pending send communications
     std::list<msg_comm_t> sent_comm;
-    static const int send_count_before_flush;
+    static int send_count_before_flush;
     int send_counter;
 
     // Queue of received messages
@@ -75,6 +83,12 @@ private:
 
     // Used to test if a communication is over, and to destroy it if it is
     static bool comm_test_n_destroy(msg_comm_t comm);
+
+    // Make opt::* functions our friends to provide them an access to
+    // send_count_before_flush
+    friend bool opt::parse_args(int*, char* []);
+    friend void opt::print();
+    friend void opt::usage();
 };
 
 #endif // !COMMUNICATOR_H