#ifndef COMMUNICATOR_H
#define COMMUNICATOR_H
-#include <list>
+#include <vector>
#include <msg/msg.h>
#include "hostdata.h"
#include "messages.h"
// Try to get a message. Returns true on success.
// Parameter "timeout" may be 0 for non-blocking operation, -1 for
// infinite waiting, or any positive timeout.
- bool recv(message*& msg, m_host_t& from, double timeout);
+ bool recv(message*& msg, m_host_t& from, double timeout) {
+ return received.pop(msg, from, timeout);
+ }
private:
// Myself
const hostdata* host;
// List of pending send communications
- std::list<msg_comm_t> sent_comm;
+ typedef std::vector<msg_comm_t> sent_comm_type;
+ sent_comm_type sent_comm;
// Queue of received messages
message_queue received;