2个版本
0.1.1 | 2020年8月8日 |
---|---|
0.1.0 | 2020年8月8日 |
#1612 in 异步
在 2 个crate中(通过 ubio)使用
26KB
662 行
ara
《code>ara crate提供了异步随机访问I/O的特性。
ReadAt
特性提供了一个u64
长度和一个异步的read_at
方法,这是通过async-trait
实现的。它旨在为内存缓冲区、本地文件、通过HTTP、FTP等协议访问的远程资源等任何东西实现。
ReadAtWrapper
可用于将实现GetReaderAt
的类型转换为实现ReadAt
的类型。
BufReaderAt
在ReadAt
类型上实现了缓冲。与线性读取只需要一个缓冲区不同,ReadAt
可以在任何偏移量处读取,因此BufReaderAt
缓存“页面”,并使用LRU(最近最少使用)淘汰。
注意,《code>ara没有实现文件或HTTP资源的任何特性。它纯粹是为了定义资源与其消费者(如格式读取器、zip提取器等)之间的接口。
许可
本项目采用以下之一许可:
- Apache许可证2.0版本 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
供您选择。
依赖
~1.5–2.3MB
~42K SLoC