Skip to content

Commit 6e13ecb

Browse files
authored
refactor: create reader from opendal buffer (#1123)
1 parent 9466e38 commit 6e13ecb

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

Cargo.lock

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/rattler_index/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ path = "src/main.rs"
3232

3333
[dependencies]
3434
anyhow = { workspace = true }
35+
bytes = { workspace = true }
3536
clap = { workspace = true, features = ["derive", "env"] }
3637
clap-verbosity-flag = { workspace = true, features = ["tracing"] }
3738
console = { workspace = true }

crates/rattler_index/src/lib.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#![deny(missing_docs)]
44

55
use anyhow::Result;
6+
use bytes::buf::Buf;
67
use fs_err::{self as fs};
78
use futures::future::try_join_all;
89
use fxhash::FxHashMap;
@@ -249,13 +250,12 @@ async fn index_subdir(
249250
));
250251
let file_path = format!("{subdir}/{filename}");
251252
let buffer = op.read(&file_path).await?;
252-
let bytes = buffer.to_vec();
253-
let cursor = Cursor::new(bytes);
253+
let reader = buffer.reader();
254254
// We already know it's not None
255255
let archive_type = ArchiveType::try_from(&filename).unwrap();
256256
let record = match archive_type {
257-
ArchiveType::TarBz2 => package_record_from_tar_bz2_reader(cursor),
258-
ArchiveType::Conda => package_record_from_conda_reader(cursor),
257+
ArchiveType::TarBz2 => package_record_from_tar_bz2_reader(reader),
258+
ArchiveType::Conda => package_record_from_conda_reader(reader),
259259
}?;
260260
pb.inc(1);
261261
Ok::<(String, PackageRecord), std::io::Error>((filename.clone(), record))

0 commit comments

Comments
 (0)