| Index: third_party/webrtc_overrides/webrtc/base/task_queue.cc
|
| diff --git a/third_party/webrtc_overrides/webrtc/base/task_queue.cc b/third_party/webrtc_overrides/webrtc/base/task_queue.cc
|
| deleted file mode 100644
|
| index 583554da33e5c27be5945a566dd8f6ec888c3663..0000000000000000000000000000000000000000
|
| --- a/third_party/webrtc_overrides/webrtc/base/task_queue.cc
|
| +++ /dev/null
|
| @@ -1,135 +0,0 @@
|
| -/*
|
| - * Copyright 2016 The WebRTC Project Authors. All rights reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#include "third_party/webrtc_overrides/webrtc/base/task_queue.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/lazy_instance.h"
|
| -#include "base/threading/thread.h"
|
| -#include "base/threading/thread_local.h"
|
| -
|
| -namespace rtc {
|
| -namespace {
|
| -
|
| -void RunTask(std::unique_ptr<QueuedTask> task) {
|
| - if (!task->Run())
|
| - task.release();
|
| -}
|
| -
|
| -class PostAndReplyTask : public QueuedTask {
|
| - public:
|
| - PostAndReplyTask(
|
| - std::unique_ptr<QueuedTask> task,
|
| - std::unique_ptr<QueuedTask> reply,
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& reply_task_runner)
|
| - : task_(std::move(task)),
|
| - reply_(std::move(reply)),
|
| - reply_task_runner_(reply_task_runner) {}
|
| -
|
| - ~PostAndReplyTask() override {}
|
| -
|
| - private:
|
| - bool Run() override {
|
| - if (!task_->Run())
|
| - task_.release();
|
| -
|
| - reply_task_runner_->PostTask(FROM_HERE,
|
| - base::Bind(&RunTask, base::Passed(&reply_)));
|
| - return true;
|
| - }
|
| -
|
| - std::unique_ptr<QueuedTask> task_;
|
| - std::unique_ptr<QueuedTask> reply_;
|
| - scoped_refptr<base::SingleThreadTaskRunner> reply_task_runner_;
|
| -};
|
| -
|
| -// A lazily created thread local storage for quick access to a TaskQueue.
|
| -base::LazyInstance<base::ThreadLocalPointer<TaskQueue>>::Leaky lazy_tls_ptr =
|
| - LAZY_INSTANCE_INITIALIZER;
|
| -
|
| -} // namespace
|
| -
|
| -bool TaskQueue::IsCurrent() const {
|
| - return Current() == this;
|
| -}
|
| -
|
| -class TaskQueue::WorkerThread : public base::Thread {
|
| - public:
|
| - WorkerThread(const char* queue_name, TaskQueue* queue);
|
| - ~WorkerThread() override;
|
| -
|
| - private:
|
| - virtual void Init() override;
|
| -
|
| - TaskQueue* const queue_;
|
| -};
|
| -
|
| -TaskQueue::WorkerThread::WorkerThread(const char* queue_name, TaskQueue* queue)
|
| - : base::Thread(queue_name), queue_(queue) {}
|
| -
|
| -void TaskQueue::WorkerThread::Init() {
|
| - lazy_tls_ptr.Pointer()->Set(queue_);
|
| -}
|
| -
|
| -TaskQueue::WorkerThread::~WorkerThread() {
|
| - DCHECK(!Thread::IsRunning());
|
| -}
|
| -
|
| -TaskQueue::TaskQueue(const char* queue_name)
|
| - : thread_(
|
| - std::unique_ptr<WorkerThread>(new WorkerThread(queue_name, this))) {
|
| - DCHECK(queue_name);
|
| - bool result = thread_->Start();
|
| - CHECK(result);
|
| -}
|
| -
|
| -TaskQueue::~TaskQueue() {
|
| - DCHECK(!IsCurrent());
|
| - thread_->Stop();
|
| -}
|
| -
|
| -// static
|
| -TaskQueue* TaskQueue::Current() {
|
| - return lazy_tls_ptr.Pointer()->Get();
|
| -}
|
| -
|
| -// static
|
| -bool TaskQueue::IsCurrent(const char* queue_name) {
|
| - TaskQueue* current = Current();
|
| - return current && current->thread_->thread_name().compare(queue_name) == 0;
|
| -}
|
| -
|
| -void TaskQueue::PostTask(std::unique_ptr<QueuedTask> task) {
|
| - thread_->task_runner()->PostTask(FROM_HERE,
|
| - base::Bind(&RunTask, base::Passed(&task)));
|
| -}
|
| -
|
| -void TaskQueue::PostDelayedTask(std::unique_ptr<QueuedTask> task,
|
| - uint32_t milliseconds) {
|
| - thread_->task_runner()->PostDelayedTask(
|
| - FROM_HERE, base::Bind(&RunTask, base::Passed(&task)),
|
| - base::TimeDelta::FromMilliseconds(milliseconds));
|
| -}
|
| -
|
| -void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task,
|
| - std::unique_ptr<QueuedTask> reply,
|
| - TaskQueue* reply_queue) {
|
| - PostTask(std::unique_ptr<QueuedTask>(new PostAndReplyTask(
|
| - std::move(task), std::move(reply), reply_queue->thread_->task_runner())));
|
| -}
|
| -
|
| -void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task,
|
| - std::unique_ptr<QueuedTask> reply) {
|
| - thread_->task_runner()->PostTaskAndReply(
|
| - FROM_HERE, base::Bind(&RunTask, base::Passed(&task)),
|
| - base::Bind(&RunTask, base::Passed(&reply)));
|
| -}
|
| -
|
| -} // namespace rtc
|
|
|