Index: webrtc/base/messagequeue.h |
diff --git a/webrtc/base/messagequeue.h b/webrtc/base/messagequeue.h |
index 03dfc98e13d18a4eeaf72e40f9c21944b76f05d4..3a5226cd0a0129bb6c149b170922eef6123b3614 100644 |
--- a/webrtc/base/messagequeue.h |
+++ b/webrtc/base/messagequeue.h |
@@ -37,7 +37,7 @@ class MessageQueue; |
// MessageQueueManager does cleanup of of message queues |
-class MessageQueueManager { |
+class MessageQueueManager : public MessageHandler { |
public: |
static void Add(MessageQueue *message_queue); |
static void Remove(MessageQueue *message_queue); |
@@ -49,15 +49,22 @@ class MessageQueueManager { |
// MessageQueueManager instance when necessary. |
static bool IsInitialized(); |
+ // Mainly for testing purposes, for use with a simulated clock. |
+ // Posts a no-op event on all message queues so they will wake from the |
+ // socket server select() and process messages again. |
+ static void WakeAllMessageQueues(); |
+ |
private: |
static MessageQueueManager* Instance(); |
MessageQueueManager(); |
- ~MessageQueueManager(); |
+ ~MessageQueueManager() override; |
void AddInternal(MessageQueue *message_queue); |
void RemoveInternal(MessageQueue *message_queue); |
void ClearInternal(MessageHandler *handler); |
+ void WakeAllMessageQueuesInternal(); |
+ void OnMessage(Message* pmsg) override; |
static MessageQueueManager* instance_; |
// This list contains all live MessageQueues. |