Crate oneshot_fused_workaround

Source
Expand description

Thin veneer over futures::channel::oneshot to fix use with select!

A bare [futures::channel::oneshot::Receiver] doesn’t work properly with futures::select!, because it has a broken FusedFuture implementation. (See futures-rs ticket #2455.)

Wrapping it up in a future::Fuse works around this, with a minor performance penalty.

§Limitations

The API of this Receiver is rather more limited. For example, it lacks .try_recv().

§oneshot-fused-workaround

Thin veneer over futures::channel::oneshot to fix use with futures::select!. See futures-rs ticket #2455.

License: MIT OR Apache-2.0

Structs§

Canceled
Error returned from a [Receiver] when the corresponding [Sender] is dropped.

Functions§

channel
Return a fresh oneshot channel

Type Aliases§

Receiver
oneshot::Receiver that works properly with [futures::select!]
Sender
oneshot::Sender type alias