Migrate remaining webrtc usage of TaskQueueBase to absl::AnyInvocable

Bug: webrtc:14245
Change-Id: I8de2c23da5fbdfc0b1efbbe07fb6e8de744424a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268191
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37565}
This commit is contained in:
Danil Chapovalov
2022-07-19 13:07:12 +02:00
committed by WebRTC LUCI CQ
parent 489f648ea3
commit c05a1be5b4
37 changed files with 85 additions and 140 deletions

View File

@ -18,7 +18,6 @@ rtc_library("fake_metronome") {
"..:metronome",
"../..:priority",
"../..:sequence_checker",
"../../../api/task_queue:to_queued_task",
"../../../rtc_base:macromagic",
"../../../rtc_base:rtc_event",
"../../../rtc_base:rtc_task_queue",

View File

@ -13,7 +13,6 @@
#include "api/priority.h"
#include "api/sequence_checker.h"
#include "api/task_queue/task_queue_factory.h"
#include "api/task_queue/to_queued_task.h"
#include "api/units/time_delta.h"
#include "rtc_base/event.h"
#include "rtc_base/task_utils/repeating_task.h"
@ -41,8 +40,7 @@ size_t ForcedTickMetronome::NumListeners() {
void ForcedTickMetronome::Tick() {
for (auto* listener : listeners_) {
listener->OnTickTaskQueue()->PostTask(
ToQueuedTask([listener] { listener->OnTick(); }));
listener->OnTickTaskQueue()->PostTask([listener] { listener->OnTick(); });
}
}
@ -66,7 +64,7 @@ void FakeMetronome::AddListener(TickListener* listener) {
return TimeDelta::PlusInfinity();
for (auto* listener : listeners_) {
listener->OnTickTaskQueue()->PostTask(
ToQueuedTask([listener] { listener->OnTick(); }));
[listener] { listener->OnTick(); });
}
return tick_period_;
});

View File

@ -13,6 +13,8 @@ rtc_library("mock_task_queue_base") {
sources = [ "mock_task_queue_base.h" ]
deps = [
"../../../api/task_queue:task_queue",
"../../../api/units:time_delta",
"../../../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
}

View File

@ -11,20 +11,25 @@
#ifndef API_TASK_QUEUE_TEST_MOCK_TASK_QUEUE_BASE_H_
#define API_TASK_QUEUE_TEST_MOCK_TASK_QUEUE_BASE_H_
#include <memory>
#include "absl/functional/any_invocable.h"
#include "api/task_queue/task_queue_base.h"
#include "api/units/time_delta.h"
#include "test/gmock.h"
namespace webrtc {
class MockTaskQueueBase : public TaskQueueBase {
public:
MOCK_METHOD0(Delete, void());
MOCK_METHOD1(PostTask, void(std::unique_ptr<QueuedTask>));
MOCK_METHOD2(PostDelayedTask, void(std::unique_ptr<QueuedTask>, uint32_t));
MOCK_METHOD2(PostDelayedHighPrecisionTask,
void(std::unique_ptr<QueuedTask>, uint32_t));
MOCK_METHOD(void, Delete, (), (override));
MOCK_METHOD(void, PostTask, (absl::AnyInvocable<void() &&>), (override));
MOCK_METHOD(void,
PostDelayedTask,
(absl::AnyInvocable<void() &&>, TimeDelta),
(override));
MOCK_METHOD(void,
PostDelayedHighPrecisionTask,
(absl::AnyInvocable<void() &&>, TimeDelta),
(override));
};
} // namespace webrtc