diff options
author | Alexei Frolov <frolv@google.com> | 2022-02-03 13:59:01 -0800 |
---|---|---|
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-02-09 05:28:33 +0000 |
commit | 22ee114b142bfdfb7318f04b6860e59ad99ee7c9 (patch) | |
tree | db028f602d10f62478f0a03bd6aa5e5a7ce345ba /targets | |
parent | 5715ba8c76bdd608c723d98fc9c2d2193908f780 (diff) | |
download | pigweed-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.BUILD | 5 |
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", ) |