Chromium Code Reviews| Index: webrtc/rtc_base/task_queue.h |
| diff --git a/webrtc/rtc_base/task_queue.h b/webrtc/rtc_base/task_queue.h |
| index 218fce9a3b9854529e5683731915b13324aaea25..ec506d5a2d1f6929809345be20ee13d3b0c1253c 100644 |
| --- a/webrtc/rtc_base/task_queue.h |
| +++ b/webrtc/rtc_base/task_queue.h |
| @@ -15,23 +15,17 @@ |
| #include <memory> |
| #include <queue> |
| -#if defined(WEBRTC_MAC) && !defined(WEBRTC_BUILD_LIBEVENT) |
| +#if defined(WEBRTC_MAC) |
| #include <dispatch/dispatch.h> |
| #endif |
| #include "webrtc/rtc_base/constructormagic.h" |
| #include "webrtc/rtc_base/criticalsection.h" |
| -#if defined(WEBRTC_WIN) || defined(WEBRTC_BUILD_LIBEVENT) |
| -#include "webrtc/rtc_base/platform_thread.h" |
| -#endif |
| - |
| -#if defined(WEBRTC_BUILD_LIBEVENT) |
| -#include "webrtc/rtc_base/refcountedobject.h" |
| #include "webrtc/rtc_base/scoped_ref_ptr.h" |
| -struct event_base; |
| -struct event; |
| +#if defined(WEBRTC_WIN) |
| +#include "webrtc/rtc_base/platform_thread.h" |
| #endif |
| namespace rtc { |
| @@ -242,32 +236,7 @@ class LOCKABLE TaskQueue { |
| } |
| private: |
| -#if defined(WEBRTC_BUILD_LIBEVENT) |
| - static void ThreadMain(void* context); |
| - static void OnWakeup(int socket, short flags, void* context); // NOLINT |
| - static void RunTask(int fd, short flags, void* context); // NOLINT |
| - static void RunTimer(int fd, short flags, void* context); // NOLINT |
| - |
| - class ReplyTaskOwner; |
| - class PostAndReplyTask; |
| - class SetTimerTask; |
| - |
| - typedef RefCountedObject<ReplyTaskOwner> ReplyTaskOwnerRef; |
| - |
| - void PrepareReplyTask(scoped_refptr<ReplyTaskOwnerRef> reply_task); |
| - |
| - struct QueueContext; |
| - |
| - int wakeup_pipe_in_ = -1; |
| - int wakeup_pipe_out_ = -1; |
| - event_base* event_base_; |
| - std::unique_ptr<event> wakeup_event_; |
| - PlatformThread thread_; |
| - rtc::CriticalSection pending_lock_; |
| - std::list<std::unique_ptr<QueuedTask>> pending_ GUARDED_BY(pending_lock_); |
| - std::list<scoped_refptr<ReplyTaskOwnerRef>> pending_replies_ |
| - GUARDED_BY(pending_lock_); |
| -#elif defined(WEBRTC_MAC) |
| +#if defined(WEBRTC_MAC) |
| struct QueueContext; |
| struct TaskContext; |
| struct PostTaskAndReplyContext; |
| @@ -295,7 +264,8 @@ class LOCKABLE TaskQueue { |
| std::queue<std::unique_ptr<QueuedTask>> pending_ GUARDED_BY(pending_lock_); |
| HANDLE in_queue_; |
| #else |
| -#error not supported. |
| + class Impl; |
| + const scoped_refptr<Impl> impl_; |
|
nisse-webrtc
2017/08/22 13:39:44
I would have expected a unique_ptr here. Who else
perkj_webrtc
2017/08/22 18:52:38
To be used to implement PostAndReply on a differen
|
| #endif |
| RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue); |