DescriptionReland of New task queueing primitive for async tasks: TaskQueue. (patchset #1 id:1 of https://codereview.webrtc.org/1935483002/ )
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
Committed: https://crrev.com/65d1f2aba216d077c6d22488f03e56984aef1c68
Cr-Commit-Position: refs/heads/master@{#12737}
Patch Set 1 #Patch Set 2 : Fix android debug shared chromium GN build #
Total comments: 2
Patch Set 3 : Add build_libevent build variable #Patch Set 4 : Fix gyp gaffe #Patch Set 5 : Fix GN gaffe! #Patch Set 6 : Rebase #Patch Set 7 : Rebase #Patch Set 8 : Rebase #
Messages
Total messages: 32 (11 generated)
|