9 个版本
0.3.0-已弃用 | 2019年11月15日 |
---|---|
0.3.0-alpha.8 | 2019年8月30日 |
#16 in #crossbeam
每月下载量 28 次
11KB
194 行代码
channel-async
- 此软件包不再维护 *
由于 crossbeam 和 tokio 之间的交互,建议您使用 async-std 中的通道
在 Futures 0.3 Stream 上对 crossbeam-channel 的 Async/stream 扩展。它主要用于与 Tokio 一起使用。
使用方法
首先,将以下内容添加到您的 Cargo.toml
[dependencies]
channel-async = "0.3.0-alpha.8"
接下来,将以下内容添加到您的软件包中
use futures::{FutureExt, TryFutureExt};
#[tokio::main]
async fn run_channels() {
let (tx, rx) = channel_async::unbounded(Duration::from_millis(100));
let send_fut = async move {
for i in 1..100 {
tx.send(i).await.expect("Failed to send");
}
};
tokio::spawn(send_fut);
let recv_fut = async move {
let rcvd: Vec<_> = rx.collect().await;
rcvd
};
let rcvd = recv_fut.await;
println!("Received {} messages", rcvd.len());
}
许可证
本项目采用 MIT 许可证。
贡献
除非您明确声明,否则您提交的任何有意包含在 tls-async 中的贡献,都应按照 MIT 许可证许可,不附加任何额外的条款或条件。
依赖项
~6MB
~108K SLoC