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-uring
crate提供基于io_uring
的Linux实现。photonio-tokio
crate提供基于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