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

Side by Side Diff: webrtc/rtc_base/task_queue_libevent.cc

Issue 3004873002: Delete static method TaskQueue::IsCurrent. (Closed)
Patch Set: Created 3 years, 3 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 unified diff | Download patch
« no previous file with comments | « webrtc/rtc_base/task_queue_gcd.cc ('k') | webrtc/rtc_base/task_queue_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 public: 112 public:
113 explicit Impl(const char* queue_name, 113 explicit Impl(const char* queue_name,
114 TaskQueue* queue, 114 TaskQueue* queue,
115 Priority priority = Priority::NORMAL); 115 Priority priority = Priority::NORMAL);
116 ~Impl() override; 116 ~Impl() override;
117 117
118 static TaskQueue::Impl* Current(); 118 static TaskQueue::Impl* Current();
119 static TaskQueue* CurrentQueue(); 119 static TaskQueue* CurrentQueue();
120 120
121 // Used for DCHECKing the current queue. 121 // Used for DCHECKing the current queue.
122 static bool IsCurrent(const char* queue_name);
123 bool IsCurrent() const; 122 bool IsCurrent() const;
124 123
125 void PostTask(std::unique_ptr<QueuedTask> task); 124 void PostTask(std::unique_ptr<QueuedTask> task);
126 void PostTaskAndReply(std::unique_ptr<QueuedTask> task, 125 void PostTaskAndReply(std::unique_ptr<QueuedTask> task,
127 std::unique_ptr<QueuedTask> reply, 126 std::unique_ptr<QueuedTask> reply,
128 TaskQueue::Impl* reply_queue); 127 TaskQueue::Impl* reply_queue);
129 128
130 void PostDelayedTask(std::unique_ptr<QueuedTask> task, uint32_t milliseconds); 129 void PostDelayedTask(std::unique_ptr<QueuedTask> task, uint32_t milliseconds);
131 130
132 private: 131 private:
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 329
331 // static 330 // static
332 TaskQueue* TaskQueue::Impl::CurrentQueue() { 331 TaskQueue* TaskQueue::Impl::CurrentQueue() {
333 TaskQueue::Impl* current = Current(); 332 TaskQueue::Impl* current = Current();
334 if (current) { 333 if (current) {
335 return current->queue_; 334 return current->queue_;
336 } 335 }
337 return nullptr; 336 return nullptr;
338 } 337 }
339 338
340 // static
341 bool TaskQueue::Impl::IsCurrent(const char* queue_name) {
342 TaskQueue::Impl* current = Current();
343 return current && current->thread_.name().compare(queue_name) == 0;
344 }
345
346 bool TaskQueue::Impl::IsCurrent() const { 339 bool TaskQueue::Impl::IsCurrent() const {
347 return IsThreadRefEqual(thread_.GetThreadRef(), CurrentThreadRef()); 340 return IsThreadRefEqual(thread_.GetThreadRef(), CurrentThreadRef());
348 } 341 }
349 342
350 void TaskQueue::Impl::PostTask(std::unique_ptr<QueuedTask> task) { 343 void TaskQueue::Impl::PostTask(std::unique_ptr<QueuedTask> task) {
351 RTC_DCHECK(task.get()); 344 RTC_DCHECK(task.get());
352 // libevent isn't thread safe. This means that we can't use methods such 345 // libevent isn't thread safe. This means that we can't use methods such
353 // as event_base_once to post tasks to the worker thread from a different 346 // as event_base_once to post tasks to the worker thread from a different
354 // thread. However, we can use it when posting from the worker thread itself. 347 // thread. However, we can use it when posting from the worker thread itself.
355 if (IsCurrent()) { 348 if (IsCurrent()) {
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 } 489 }
497 490
498 TaskQueue::~TaskQueue() {} 491 TaskQueue::~TaskQueue() {}
499 492
500 // static 493 // static
501 TaskQueue* TaskQueue::Current() { 494 TaskQueue* TaskQueue::Current() {
502 return TaskQueue::Impl::CurrentQueue(); 495 return TaskQueue::Impl::CurrentQueue();
503 } 496 }
504 497
505 // Used for DCHECKing the current queue. 498 // Used for DCHECKing the current queue.
506 // static
507 bool TaskQueue::IsCurrent(const char* queue_name) {
508 return TaskQueue::Impl::IsCurrent(queue_name);
509 }
510
511 bool TaskQueue::IsCurrent() const { 499 bool TaskQueue::IsCurrent() const {
512 return impl_->IsCurrent(); 500 return impl_->IsCurrent();
513 } 501 }
514 502
515 void TaskQueue::PostTask(std::unique_ptr<QueuedTask> task) { 503 void TaskQueue::PostTask(std::unique_ptr<QueuedTask> task) {
516 return TaskQueue::impl_->PostTask(std::move(task)); 504 return TaskQueue::impl_->PostTask(std::move(task));
517 } 505 }
518 506
519 void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task, 507 void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task,
520 std::unique_ptr<QueuedTask> reply, 508 std::unique_ptr<QueuedTask> reply,
521 TaskQueue* reply_queue) { 509 TaskQueue* reply_queue) {
522 return TaskQueue::impl_->PostTaskAndReply(std::move(task), std::move(reply), 510 return TaskQueue::impl_->PostTaskAndReply(std::move(task), std::move(reply),
523 reply_queue->impl_.get()); 511 reply_queue->impl_.get());
524 } 512 }
525 513
526 void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task, 514 void TaskQueue::PostTaskAndReply(std::unique_ptr<QueuedTask> task,
527 std::unique_ptr<QueuedTask> reply) { 515 std::unique_ptr<QueuedTask> reply) {
528 return TaskQueue::impl_->PostTaskAndReply(std::move(task), std::move(reply), 516 return TaskQueue::impl_->PostTaskAndReply(std::move(task), std::move(reply),
529 impl_.get()); 517 impl_.get());
530 } 518 }
531 519
532 void TaskQueue::PostDelayedTask(std::unique_ptr<QueuedTask> task, 520 void TaskQueue::PostDelayedTask(std::unique_ptr<QueuedTask> task,
533 uint32_t milliseconds) { 521 uint32_t milliseconds) {
534 return TaskQueue::impl_->PostDelayedTask(std::move(task), milliseconds); 522 return TaskQueue::impl_->PostDelayedTask(std::move(task), milliseconds);
535 } 523 }
536 524
537 } // namespace rtc 525 } // namespace rtc
OLDNEW
« no previous file with comments | « webrtc/rtc_base/task_queue_gcd.cc ('k') | webrtc/rtc_base/task_queue_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698