Commit graph

24 commits

Author SHA1 Message Date
Jiahao XU
4f0f01b75c
Fix typo in impl Version for crates_io_api::Version
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:20:21 +10:00
Jiahao XU
e308b275d5
Optimize and generalize find_version
- Rm the process of collecting into `BTreeMap` in `find_version`.
 - Accept any type that implements trait `Version`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:19:50 +10:00
Jiahao XU
f09004b5b7
Optimize: Share crates_io_api::AsyncClient
So that the connection pool and the rate limit will be shared.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 14:50:51 +10:00
Jiahao XU
fa63dbe5cf
Refactor: Rm global var helpers::CLIENT
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-10 18:07:07 +10:00
Jiahao XU
e18ac6e117
Run Manifest parsing in block_in_place mode
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 19:55:09 +10:00
Jiahao XU
23bad39ba8
Refactor:Mv mod visitor vfs under crates_io
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-21 13:44:12 +10:00
Jiahao XU
b6f15f2e5e
Refactor: Extract fetch_crate_cratesio out into mod
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-21 13:42:39 +10:00
Jiahao XU
c916814e7e
Refactor: Extract find_version into mod
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-21 13:40:36 +10:00
Jiahao XU
5d79af545b
Add doc for Vfs
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-21 13:38:24 +10:00
Jiahao XU
53bf76104b
Revert refactor: Put fetch_crate_cratesio back to drivers
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-18 18:27:08 +10:00
Jiahao XU
b14b71135e
Revert refactor: Put find_version back to drivers
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-18 18:25:50 +10:00
Jiahao XU
30b9a78520
Optimize normalize_path: Avoid copy if possible
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-15 17:45:50 +10:00
Jiahao XU
bd39ce754f
Fix Vfs::add_path: Use to_string_lossy
instead of `to_str` to be compatible with the implementation in
`cargo_toml`:

https://docs.rs/cargo_toml/0.11.5/src/cargo_toml/afs.rs.html#24

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 19:23:03 +10:00
Jiahao XU
b88e384f95
Fix Vfs::add_path: Add insert filename instead of path
into the `HashSet<Box<Path>>`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 19:17:06 +10:00
Jiahao XU
989be49cb0
Fix confusing doc of Vfs::add_path
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 17:13:48 +10:00
Jiahao XU
24b1941c1a
Simplify fetch_crate_cratesio: Rm unused param temp_dir
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 17:09:17 +10:00
Jiahao XU
f25306ff97
Simplify download_tar_based_and_visit: Rm unused param
`path`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 17:07:29 +10:00
Jiahao XU
e68eea35fe
Mark type ManifestVisitor as pub(super)
Since mod `cretesio` is the only one need to have access to it.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 16:40:51 +10:00
Jiahao XU
5bb5d12949
Optimize fetch_crate_cratesio using ManifestVisitor
and `download_tar_based_and_visit`.

By using these two items, we avoid any I/O altogether.
Everything happens in memory, thus there will be no i/o related errors
or cost.

This commit does not regress anything because
`helpers::load_manifest_path` calls `Manifest::from_path_with_metadata`,
which read in the whole `Cargo.toml` file at once.

Thus this commit would not cause any OOM when the the original code
would not.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 16:37:53 +10:00
Jiahao XU
f3d3c488e3
Impl new type `ManifestVisitor
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 16:32:36 +10:00
Jiahao XU
44d43113f4
Forward impl AbstractFilesystem for &Vfs
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 16:08:41 +10:00
Jiahao XU
3c30722a06
Impl new type Vfs which impl AbstractFilesystem
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-12 01:57:34 +10:00
Jiahao XU
0eb9424f17
Set vis of find_version to pub(super)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-11 22:47:47 +10:00
Jiahao XU
6c6055da69
Refactor mod drivers: Extract out sub mods
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-11 22:43:45 +10:00