#async #options #closed #atomic #return #async-mutex-option-t

async-option

本质上是一个异步的 Async>>。

2 个版本

0.1.1 2019 年 3 月 12 日
0.1.0 2019 年 3 月 12 日

#1704异步

MIT 许可证

19KB
305

async-option

Crates.io Documentation Build Status Codecov

此 crate 提供了一个异步、原子 Option 类型。

从高层次来看,此 crate 完全类似于 Arc<Mutex<Option<T>>>,只是增加了对异步操作的支持。给定一个 Aption<T>,您可以调用 poll_put 尝试将值放入 Option,或者调用 poll_takeOption 中取出值。两种方法如果 Option 被占用或为空,将返回 Async::NotReady,此时将安排当前任务在将来的某个时刻被通知 poll_* 调用可能成功。 Aption<T> 还可以作为 Sink<SinkItem = T>Stream<Item = T> 使用,作为单个元素通道。

您也可以使用 poll_close 来关闭 Aption<T>。在 poll_close 之后,任何 poll_put 都将失败,下一次 poll_take 将返回当前值(如果有的话),此后 poll_take 将返回错误。

依赖项

~215KB