Implement periodic cancelable task for task queue
using shared pointer to boolean flag.
Bug: None
Change-Id: I9d7ad7d7b187fefa7daa0247a1379e1ddd7e2b24
Reviewed-on: https://webrtc-review.googlesource.com/96300
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24511}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 2ef79fa..8275599 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -526,6 +526,26 @@
]
}
+rtc_source_set("rtc_cancelable_task") {
+ sources = [
+ "cancelable_periodic_task.h",
+ "cancelable_task_handle.cc",
+ "cancelable_task_handle.h",
+ ]
+ deps = [
+ ":checks",
+ ":logging",
+ ":macromagic",
+ ":ptr_util",
+ ":refcount",
+ ":rtc_task_queue",
+ ":safe_conversions",
+ ":sequenced_task_checker",
+ ":thread_checker",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+}
+
if (rtc_enable_libevent) {
rtc_source_set("rtc_task_queue_libevent") {
visibility = [ ":rtc_task_queue_impl" ]
@@ -1178,12 +1198,14 @@
testonly = true
sources = [
+ "cancelable_periodic_task_unittest.cc",
"task_queue_unittest.cc",
]
deps = [
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_base_tests_utils",
+ ":rtc_cancelable_task",
":rtc_task_queue",
":rtc_task_queue_for_test",
"../test:test_support",