mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-05-02 02:00:03 +00:00
Refactor: Mv TarEntriesVisitor
to mod async_extracter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
467f7f6834
commit
2091345ce0
3 changed files with 13 additions and 14 deletions
|
@ -232,6 +232,18 @@ where
|
|||
.await
|
||||
}
|
||||
|
||||
/// Visitor must iterate over all entries.
|
||||
/// Entires can be in arbitary order.
|
||||
pub trait TarEntriesVisitor {
|
||||
fn visit<R: Read>(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError>;
|
||||
}
|
||||
|
||||
impl<V: TarEntriesVisitor> TarEntriesVisitor for &mut V {
|
||||
fn visit<R: Read>(&mut self, entries: Entries<'_, R>) -> Result<(), BinstallError> {
|
||||
(*self).visit(entries)
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn extract_tar_based_stream_and_visit<V: TarEntriesVisitor + Debug + Send + 'static, E>(
|
||||
stream: impl Stream<Item = Result<Bytes, E>> + Unpin,
|
||||
fmt: TarBasedFmt,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue