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

Private GIT Repository
Use a lock-free synchronized queue for the message queue.
[loba.git] / messages.h
index 70d675da7994f971efc41aca6bc4844f810a85ad..8de464ab8f390cb4fb77cc4a647b05f4d5e864e3 100644 (file)
@@ -5,6 +5,7 @@
 #include <string>
 #include <msg/msg.h>
 #include "synchro.h"
 #include <string>
 #include <msg/msg.h>
 #include "synchro.h"
+#include "sync_queue.h"
 
 class message {
 public:
 
 class message {
 public:
@@ -14,6 +15,7 @@ public:
 
     message_type get_type() const       { return type;   }
     double get_amount() const           { return amount; }
 
     message_type get_type() const       { return type;   }
     double get_amount() const           { return amount; }
+    double get_size() const;
 
     std::string to_string();
 
 
     std::string to_string();
 
@@ -38,7 +40,7 @@ public:
 private:
     mutex_t mutex;
     condition_t cond;
 private:
     mutex_t mutex;
     condition_t cond;
-    std::queue<m_task_t> queue;
+    sync_queue<m_task_t> queue;
 };
 
 #endif // !MESSAGES_H
 };
 
 #endif // !MESSAGES_H