webrtc/modules/utility/BUILD.gn
Per Kjellander edcae05bd4 Add utility class MaybeWorkerThread
The class will be used in experiment aiming at reducing the number of
used threads. The experiment will remove the need for the Pacer TQ and
RTP module worker TQ.
The helper ensure calls are made on either the worker thread a TQ
depending on the field trial
"WebRTC-SendPacketsOnWorkerThread"

Bug: webrtc:14502
Change-Id: I47581e3e3203712a244f1cb76952cd94734cc3f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277444
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38289}
2022-10-04 11:39:38 +00:00

74 lines
2 KiB
Text

# Copyright (c) 2014 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.
import("../../webrtc.gni")
rtc_source_set("utility") {
sources = [
"maybe_worker_thread.cc",
"maybe_worker_thread.h",
]
deps = [
"../../api:field_trials_view",
"../../api:sequence_checker",
"../../api/task_queue",
"../../api/task_queue:pending_task_safety_flag",
"../../rtc_base:checks",
"../../rtc_base:logging",
"../../rtc_base:macromagic",
"../../rtc_base:rtc_event",
"../../rtc_base:rtc_task_queue",
]
absl_deps = [
"//third_party/abseil-cpp/absl/functional:any_invocable",
"//third_party/abseil-cpp/absl/strings:strings",
]
if (is_android) {
visibility = [ "*" ]
sources += [
"include/helpers_android.h",
"include/jvm_android.h",
"source/helpers_android.cc",
"source/jvm_android.cc",
]
deps += [
"../../api:sequence_checker",
"../../rtc_base:checks",
"../../rtc_base:logging",
"../../rtc_base:platform_thread",
"../../rtc_base/system:arch",
]
}
}
if (rtc_include_tests) {
rtc_library("utility_unittests") {
testonly = true
sources = [ "maybe_worker_thread_unittests.cc" ]
deps = [
":utility",
"../../api:sequence_checker",
"../../api/task_queue",
"../../api/task_queue:default_task_queue_factory",
"../../api/task_queue:pending_task_safety_flag",
"../../api/units:time_delta",
"../../rtc_base:rtc_event",
"../../rtc_base:threading",
"../../test:explicit_key_value_config",
"../../test:field_trial",
"../../test:test_main",
"../../test:test_support",
"../../test/time_controller",
]
}
}