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}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.