lux/dist/message_queue.h

00001 #ifndef LUX_DIST_MESSAGEQUEUE_H
00002 #define LUX_DIST_MESSAGEQUEUE_H
00003 
00004 #include <deque>
00005 
00006 namespace Lux {
00007 namespace Dist {
00008 
00009   template <class Message>
00010   class MessageQueue {
00011   public:
00012     MessageQueue(void)
00013     {}
00014 
00015     ~MessageQueue()
00016     {}
00017 
00018     bool enqueue_message(Message &message)
00019     {
00020       queue_.push_back(message);
00021     }
00022 
00023     Message dequeue_message(void)
00024     {
00025       Message m = queue_[0];
00026       queue_.pop_front();
00027       return m;
00028     }
00029 
00030     bool is_queue_empty(void)
00031     {
00032       return queue_.empty();
00033     }
00034 
00035   private:
00036     std::deque<Message> queue_;
00037   };
00038 }
00039 }
00040 
00041 #endif

Generated on Fri Feb 5 15:50:30 2010 for Lux by  doxygen 1.4.7