commit | c06b133b2907ea67f2c1f23488a51e0de643e9ef | [log] [tgz] |
---|---|---|
author | tommi <tommi@webrtc.org> | Sat May 14 18:31:40 2016 |
committer | Commit bot <commit-bot@chromium.org> | Sat May 14 18:31:49 2016 |
tree | aa3705793d642d53a97f6925114407a0dc5ca1f0 | |
parent | 353ca7610b64d17108a77be7262e571fdd41c2c4 [diff] |
Reland of New task queueing primitive for async tasks: TaskQueue. New task queueing primitive for async tasks: TaskQueue. TaskQueue is a new way to asynchronously execute tasks sequentially in a thread safe manner with minimal locking. The implementation uses OS supported APIs to do this that are compatible with async IO notifications from things like sockets and files. This class is a part of rtc_base_approved, so can be used by both the webrtc and libjingle parts of the WebRTC library. Moving forward, we can replace rtc::Thread and webrtc::ProcessThread with this implementation. NOTE: It should not be assumed that all tasks that execute on a TaskQueue, run on the same thread. E.g. on Mac and iOS, we use GCD dispatch queues which means that tasks might execute on different threads depending on what's the most efficient thing to do. TBR=perkj@webrtc.org,phoglund@webrtc.org Review-Url: https://codereview.webrtc.org/1984503002 Cr-Commit-Position: refs/heads/master@{#12749}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.