From 2091345ce029ecae1843c8ba0de7a35bb0960dae Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Mon, 13 Jun 2022 01:14:22 +1000 Subject: [PATCH] Refactor: Mv `TarEntriesVisitor` to mod `async_extracter` Signed-off-by: Jiahao XU --- src/helpers.rs | 1 - src/helpers/async_extracter.rs | 12 ++++++++++++ src/helpers/extracter.rs | 14 +------------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/helpers.rs b/src/helpers.rs index 721716bb..060aad8c 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -22,7 +22,6 @@ mod ui_thread; pub use ui_thread::UIThread; mod extracter; -pub use extracter::TarEntriesVisitor; mod readable_rx; diff --git a/src/helpers/async_extracter.rs b/src/helpers/async_extracter.rs index 2ae31a23..2b1298bf 100644 --- a/src/helpers/async_extracter.rs +++ b/src/helpers/async_extracter.rs @@ -232,6 +232,18 @@ where .await } +/// Visitor must iterate over all entries. +/// Entires can be in arbitary order. +pub trait TarEntriesVisitor { + fn visit(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError>; +} + +impl TarEntriesVisitor for &mut V { + fn visit(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError> { + (*self).visit(entries) + } +} + pub async fn extract_tar_based_stream_and_visit( stream: impl Stream> + Unpin, fmt: TarBasedFmt, diff --git a/src/helpers/extracter.rs b/src/helpers/extracter.rs index ee5129b3..b1737528 100644 --- a/src/helpers/extracter.rs +++ b/src/helpers/extracter.rs @@ -4,25 +4,13 @@ use std::path::Path; use flate2::bufread::GzDecoder; use log::debug; -use tar::{Archive, Entries}; +use tar::Archive; use xz2::bufread::XzDecoder; use zip::read::ZipArchive; use zstd::stream::Decoder as ZstdDecoder; use crate::{BinstallError, TarBasedFmt}; -/// Visitor must iterate over all entries. -/// Entires can be in arbitary order. -pub trait TarEntriesVisitor { - fn visit(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError>; -} - -impl TarEntriesVisitor for &mut V { - fn visit(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError> { - (*self).visit(entries) - } -} - pub(super) fn create_tar_decoder( dat: impl BufRead + 'static, fmt: TarBasedFmt,