aboutsummaryrefslogtreecommitdiff
path: root/targets
diff options
context:
space:
mode:
authorAlexei Frolov <frolv@google.com>2022-02-03 13:59:01 -0800
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-02-09 05:28:33 +0000
commit22ee114b142bfdfb7318f04b6860e59ad99ee7c9 (patch)
treedb028f602d10f62478f0a03bd6aa5e5a7ce345ba /targets
parent5715ba8c76bdd608c723d98fc9c2d2193908f780 (diff)
downloadpigweed-22ee114b142bfdfb7318f04b6860e59ad99ee7c9.tar.gz
pw_transfer: Rewrite to use event model
This updates the design of the pw_transfer C++ code to run via a series of events dispatched to a dedicated transfer thread. This removes any transfer processing from RPC callback contexts, preventing RPC-servicing threads from blocking on expensive transfer operations. Additionally, system timers are no longer used for timeouts, as the potential to run in an interrupt context precludes effective handling of timeout operations. Instead, timeouts are managed by the transfer thread checking to see if any of its transfers have timed out every time it runs. Change-Id: I28b858f1918c3f3a9e126564d3426a296519a5cc Requires: pigweed-internal:22480 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/82883 Reviewed-by: Keir Mierle <keir@google.com> Commit-Queue: Wyatt Hepler <hepler@google.com>
Diffstat (limited to 'targets')
-rw-r--r--targets/default_config.BUILD5
1 files changed, 5 insertions, 0 deletions
diff --git a/targets/default_config.BUILD b/targets/default_config.BUILD
index fd1a1e752..1b48279ea 100644
--- a/targets/default_config.BUILD
+++ b/targets/default_config.BUILD
@@ -75,6 +75,11 @@ label_flag(
)
label_flag(
+ name = "pw_sync_timed_thread_notification_backend",
+ build_setting_default = "@pigweed//pw_sync:timed_thread_notification_backend_multiplexer",
+)
+
+label_flag(
name = "pw_interrupt_backend",
build_setting_default = "@pigweed//pw_interrupt:backend_multiplexer",
)