2个版本
| 0.0.5 | 2022年11月8日 |
|---|---|
| 0.0.4 | 2022年10月5日 |
| 0.0.3 |
|
| 0.0.1 |
|
#1887 in 异步
在 2 crate中使用
21KB
487 行
异步应用的效率运行时。
此运行时有两种实现
photonio-uringcrate提供基于io_uring的Linux实现。photonio-tokiocrate提供基于tokio的其他平台实现。
默认情况下,此crate在Linux上使用photonio-uring实现,在其他平台上使用photonio-tokio实现。要使用所有平台上的photonio-tokio实现,启用tokio功能。
示例
use photonio::{
fs::File,
io::{Write, WriteAt},
};
#[photonio::main]
async fn main() -> std::io::Result<()> {
let mut file = File::create("hello.txt").await?;
file.write(b"hello").await?;
file.write_at(b"world", 5).await?;
Ok(())
}
限制
- 丢弃异步文件系统或网络操作未完成的future会导致panic。但是,这种行为可能会在未来改变。
- 当前的多线程运行时使用简单的循环调度任务。将来将添加工作窃取调度器。
依赖关系
~1.2–8MB
~59K SLoC