Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Unified Diff: webrtc/rtc_base/task_queue.h

Issue 3003643002: Allow external TaskQueue implementations on Linux (Closed)
Patch Set: .. Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/rtc_base/BUILD.gn ('k') | webrtc/rtc_base/task_queue_libevent.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..e7eac2f18535ac7030d8c810b11fbf7c1d777800 100644
--- a/webrtc/rtc_base/task_queue.h
+++ b/webrtc/rtc_base/task_queue.h
@@ -15,23 +15,16 @@
#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 +235,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 +263,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_;
#endif
RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue);
« no previous file with comments | « webrtc/rtc_base/BUILD.gn ('k') | webrtc/rtc_base/task_queue_libevent.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698