From 51a3c9050663698e8af416c5c772518d90ba9bd8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 15 May 2021 01:14:48 +0100 Subject: [PATCH] bundles: Use new size and ReadReporter to show upload progress Signed-off-by: Ian Jackson --- src/bundles.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/bundles.rs b/src/bundles.rs index 6518f077..99acd21f 100644 --- a/src/bundles.rs +++ b/src/bundles.rs @@ -825,19 +825,20 @@ impl InstanceBundles { impl Uploading { #[throws(MgmtError)] - pub fn bulk(self, data: &mut R, size: usize, expected: &Hash, + pub fn bulk(self, data: R, size: usize, expected: &Hash, for_progress: &mut ResponseWriter) -> Uploaded where R: Read, PW: Write { let mut for_progress = progress::ResponseOriginator::new(for_progress); let mut for_progress: &mut dyn progress::Originator = &mut for_progress; - for_progress.phase_item(Phase::Upload, ()); - let Uploading { id, mut file, instance } = self; let tmp = id.path_tmp(&instance); - let copied_size = io::copy(data, &mut file) + let mut data_reporter = progress::ReadOriginator::new( + &mut for_progress, Phase::Upload, size, data); + + let copied_size = io::copy(&mut data_reporter, &mut file) .with_context(|| tmp.clone()) .context("copy").map_err(IE::from)?; -- 2.30.2