16个版本
0.10.0 | 2021年12月19日 |
---|---|
0.9.12 | 2021年12月13日 |
0.8.1 | 2021年12月10日 |
在缓存中排名157
每月下载量30次
39KB
665 行代码
此图像由GIMP自豪地制作
许可协议
根据GNU GPL版本3.0许可,除非您明确表示,否则您提交给工作的任何贡献(根据GPL-3.0许可定义)将根据GPL-3.0许可的完整条款纳入项目。
贡献
除非您明确表示,否则您提交的任何贡献,有意提交以供包含在作品中,根据GPL-3.0许可定义,将根据GPL-3.0许可的完整条款纳入项目。
我在哪里可以获得缓存?
我不能,也不会,不希望提供Jagex拥有的任何缓存的副本。这些是受版权保护的作品,我不鼓励侵犯它们的版权。这些由您自行获取。一个很好的资源是OpenRS2存档。
快速入门
IDX实际上相对简单易用。如果您只想尽快启动一个工作示例,以下是一个示例配置,应该能迅速启动。
请注意,以下示例中的test_cache
应替换为您IDX格式缓存的路径。
use std::sync::{Arc, Mutex};
use idx::*;
use idx::util::*;
use databuffer::DataBuffer;
fn main() {
let cache = Arc::from(Mutex::from(Cache::from_path("test_cache")));
let data_provider = FileProvider::from(&cache);
data_provider.index(19).archive(&1);
let mut data: DataBuffer = data_provider.request(&0); //This will return a DataBuffer containing the data from File 0, Archive 1, Index 19.
}
IDX的Cache
结构被设计成可以包装在Arc<Mutex<Cache>>
中,以便可以同时创建多个引用。同时,FileProvider
和DefProvider
都利用这一点来允许创建多个同时的文件/定义提供者。
有关FileProvider
和DefProvider
的更多信息,请参阅docs.rs上的文档,具体为:FileProvider和DefProvider。
基准测试
IDX在执行其任务时非常快。其中一些速度显然取决于您是使用SSD还是HDD,但一般来说,速度相当快。由于Criterion的基准测试,我能够提供以下基准测试图形,测试从索引19读取随机文件。
依赖关系
~1–2.3MB
~36K SLoC