commit | ae30809fd608f896809739076c299d48a948d3ea | [log] [tgz] |
---|---|---|
author | Xo Wang <xow@google.com> | Thu Nov 26 04:26:03 2020 +0000 |
committer | Rob Mohr <mohrr@google.com> | Thu Nov 16 10:58:33 2023 -0800 |
tree | f40bda55aab4b7f4756f8c7711cb14eb55cfbf32 | |
parent | 3ca480cabe18d14b7b5f5b387ca388d5b9d1d89e [diff] |
[bt][l2cap] Model LogicalLink closure using promises Model channel removal using promises by converting RemoveChannel to return a fit::promise<> that yields fit::ok when a channel is removed. Sequence channel closure bookkeeping using fit::join_promise_vector for channel closures before signaling a link error to the GAP layer. Add an async::Executor to hold continuations and post onto the dispatch loop when ready. Implement RemoveChannel using a fit::bridge against the callback-based continuation interface of DynamicChannelRegistry. Bug: 59749 Test: in bt-host-unittests, L2CAP_ChannelManagerTest.* Change-Id: I2942d790e87cab4f177b1740cabb18e79647af28 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/426318 Reviewed-by: Nick Pollard <nickpollard@google.com> Testability-Review: Nick Pollard <nickpollard@google.com> Commit-Queue: Xo Wang <xow@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.