#include <string>
#include <msg/msg.h>
#include "synchro.h"
+#include "sync_queue.h"
class message {
public:
message_type get_type() const { return type; }
double get_amount() const { return amount; }
+ double get_size() const;
std::string to_string();
// Push a message on queue
void push(m_task_t task);
- // Try to get a message. Returns true on success.
+ // Try to pop a message. Returns true on success.
// Parameter "timeout" may be 0 for non-blocking operation, -1 for
// infinite waiting, or any positive timeout.
bool pop(message*& msg, m_host_t& from, double timeout);
private:
mutex_t mutex;
condition_t cond;
- std::queue<m_task_t> queue;
+ sync_queue<m_task_t> queue;
};
#endif // !MESSAGES_H