comparison Core/MultiThreading/SharedMessageQueue.h @ 452:80f7539147a2

WaitEmpty
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 04 Jul 2013 11:48:02 +0200
parents 0e8bd937a0f3
children 2d0a347e8cfc
comparison
equal deleted inserted replaced
451:0e8bd937a0f3 452:80f7539147a2
47 47
48 unsigned int maxSize_; 48 unsigned int maxSize_;
49 Queue queue_; 49 Queue queue_;
50 boost::mutex mutex_; 50 boost::mutex mutex_;
51 boost::condition_variable elementAvailable_; 51 boost::condition_variable elementAvailable_;
52 boost::condition_variable emptied_;
52 53
53 public: 54 public:
54 SharedMessageQueue(unsigned int maxSize = 0); 55 SharedMessageQueue(unsigned int maxSize = 0);
55 56
56 ~SharedMessageQueue(); 57 ~SharedMessageQueue();
58 // This transfers the ownership of the message 59 // This transfers the ownership of the message
59 void Enqueue(IDynamicObject* message); 60 void Enqueue(IDynamicObject* message);
60 61
61 // The caller is responsible to delete the dequeud message! 62 // The caller is responsible to delete the dequeud message!
62 IDynamicObject* Dequeue(int32_t millisecondsTimeout); 63 IDynamicObject* Dequeue(int32_t millisecondsTimeout);
64
65 bool WaitEmpty(int32_t millisecondsTimeout);
63 }; 66 };
64 } 67 }