commit | 7554aac8874ff39b87da8f0e7c304065d6c9fbf2 | [log] [tgz] |
---|---|---|
author | James Farrell <[email protected]> | Wed Aug 07 21:16:50 2024 +0000 |
committer | Automerger Merge Worker <[email protected]> | Wed Aug 07 21:16:50 2024 +0000 |
tree | 5efb3af62b3b26df1784dde5e4973853f0dfeae6 | |
parent | 310e2ed6fc8f024ee9dae4c39c16b0dfc52de9ed [diff] | |
parent | 32a1b75548d368cc9900c9dfedb208fa4e9c0167 [diff] |
Update Android.bp by running cargo_embargo am: edb77fed2c am: 32a1b75548 Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/want/+/3209198 Change-Id: I654f9da3dd2748ec63cf175862cf544815449a61 Signed-off-by: Automerger Merge Worker <[email protected]>
A Future
s channel-like utility to signal when a value is wanted.
Futures are supposed to be lazy, and only starting work if Future::poll
is called. The same is true of Stream
s, but when using a channel as a Stream
, it can be hard to know if the receiver is ready for the next value.
Put another way, given a (tx, rx)
from futures::sync::mpsc::channel()
, how can the sender (tx
) know when the receiver (rx
) actually wants more work to be produced? Just because there is room in the channel buffer doesn't mean the work would be used by the receiver.
This is where something like want
comes in. Added to a channel, you can make sure that the tx
only creates the message and sends it when the rx
has poll()
for it, and the buffer was empty.
want
is provided under the MIT license. See LICENSE.